0% found this document useful (0 votes)
8 views

Chapter 2

Uploaded by

minaergec2004
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Chapter 2

Uploaded by

minaergec2004
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Starting out with Python

Fifth Edition, Global Edition

Chapter 2

Input, Processing, and Output

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-1


Topics (1 of 2)
 Designing a Program
 Input, Processing, and Output
 Displaying Output with print Function
 Comments
 Variables
 Reading Input from the Keyboard
 Performing Calculations
 String Concatenation

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-2


Topics (2 of 2)

 More About The print Function


 Displaying Formatted Output
 Named Constants

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-3


Designing a Program (1 of 3)
 Programs must be designed before they
are written
 Program development cycle:
 Design the program
 Write the code
 Correct syntax errors
 Test the program
 Correct logic errors

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-4


Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-5
Designing a Program (2 of 3)
 Design is the most important part of the
program development cycle
 Understand the task that the program is to
perform
 Work with customer to get a sense what the
program is supposed to do
 Ask questions about program details
 Create one or more software requirements

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-6


Designing a Program (3 of 3)

 Determine the steps that must be taken to


perform the task
 Break down required task into a series of
steps
 Create an algorithm, listing logical steps that
must be taken
 Algorithm: set of well-defined logical steps
that must be taken to perform a task

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-7


Pseudocode

 Pseudocode: fake code


 Informal language that has no syntax rule
 Not meant to be compiled or executed
 Used to create model program
 Noneed to worry about syntax errors, can
focus on program’s design
 Can be translated directly into actual code
in any programming language

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-8


Flowcharts (1 of 2)

 Flowchart: diagram that graphically


depicts the steps in a program
 Ovals are terminal symbols
 Parallelograms are input and output
symbols
 Rectangles are processing symbols
 Symbolsare connected by arrows that
represent the flow of the program

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2-9


Flowcharts (2 of 2)

Figure 2-2 The program development cycle

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 3 - 10


Input, Processing, and
Output
 Typically, computer performs three-step
process
 Receive input
 Input:any data that the program
receives while it is running
 Perform some process on the input
 Example: mathematical calculation
 Produce output

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 11


Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 12
Displaying Output with the
print Function
 Function: piece of prewritten code
that performs an operation
 print function: displays output on the
screen
 Argument: data given to a function
 Example: data that is printed to screen
 Statements in a program execute in
the order that they appear
 From top to bottom

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 13


Strings and String Literals
 String: sequence of characters that is
used as data
 String literal: string that appears in
actual code of a program
 Must be enclosed in single (') or double
(") quote marks
 String
literal can be enclosed in triple
quotes (''' or """)
 Enclosedstring can contain both single and
double quotes and can have multiple lines

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 14


Comments

 Comments: notes of explanation within


a program
 Ignored by Python interpreter
 Intended
for a person reading the
program’s code
 Begin with a # character
 End-line comment: appears at the end
of a line of code
 Typically explains the purpose of that line

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 15


Variables
 Variable: name that represents a value stored
in the computer memory
 Used to access and manipulate data stored in
memory
 A variable references the value it represents
 Assignment statement: used to create a
variable and make it reference data
 General format is variable = expression
 Example: age = 29
 Assignment operator: the equal sign (=)

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 16


Variables (cont’d.)

 In assignment statement, variable receiving


value must be on left side
 A variable can be passed as an argument
to a function
 Variable
name should not be enclosed in
quote marks
 You can only use a variable if a value is
assigned to it

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 17


Variable Naming Rules
 Rules for naming variables in Python:
 Variable name cannot be a Python key
word
 Variable name cannot contain spaces
 First
character must be a letter or an
underscore
 After
first character may use letters, digits, or
underscores
 Variable names are case sensitive
 Variable name should reflect its use
Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 18
Displaying Multiple Items
with the print Function
 Python allows one to display multiple
items with a single call to print
 Itemsare separated by commas when
passed as arguments
 Arguments displayed in the order they
are passed to the function
 Itemsare automatically separated by
a space when displayed on screen

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 19


Variable Reassignment

 Variables can reference different values


while program is running
 Garbage collection: removal of values
that are no longer referenced by
variables
 Carried out by Python interpreter
 A variable can refer to item of any type
 Variablethat has been assigned to one
type can be reassigned to another type

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 20


Numeric Data Types, Literals,
and the str Data Type

 Data types: categorize value in memory


 e.g., int for integer, float for real number,
str used for storing strings in memory
 Numeric literal: number written in a
program
 No decimal point considered int,
otherwise, considered float
 Some operations behave differently
depending on data type

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 21


Reassigning a Variable to
a Different Type
 A variable in Python can refer to items of any type

Figure 2-7 The variable x references an integer

Figure 2-8 The variable x references a string

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 22


Reading Input from the
Keyboard
 Most programs need to read input
from the user
 Built-in input function reads input
from keyboard
 Returnsthe data as a string
 Format: variable = input(prompt)
 prompt is typically a string instructing user
to enter a value
 Doesnot automatically display a
space after the prompt

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 23


Reading Numbers with the
input Function
 input function always returns a string
 Built-in functions convert between data
types
 int(item) converts item to an int
 float(item) converts item to a float
 Nested function call: general format:
function1(function2(argument))
 value returned by function2 is passed to
function1
 Type conversion only works if item is valid
numeric value, otherwise, throws
exception

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 24


Performing Calculations
 Math expression: performs calculation and
gives a value
 Math operator: tool for performing calculation
 Operands: values surrounding operator
 Variables can be used as operands
 Resulting value typically assigned to variable
 Two types of division:
 / operator performs floating point division
 // operator performs integer division
 Positive results truncated, negative rounded away
from zero

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 25


Python math operators

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 26


Operator Precedence and
Grouping with Parentheses
 Python operator precedence:
1. Operations enclosed in parentheses
 Forces operations to be performed before others
2. Exponentiation (**)
3. Multiplication (*), division (/ and //), and
remainder (%)
4. Addition (+) and subtraction (-)
 Higher precedence performed first
 Same precedence operators execute from left
to right
Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 27
The Exponent Operator and
the Remainder Operator
 Exponent operator (**): Raises a
number to a power
x ** y = xy
 Remainder operator (%): Performs
division and returns the remainder
 a.k.a. modulus operator
 e.g., 4%2=0, 5%2=1
 Typicallyused to convert times and
distances, and to detect odd or even
numbers
Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 28
Converting Math Formulas
to Programming Statements
 Operator required for any mathematical
operation
 When converting mathematical
expression to programming statement:
 May need to add multiplication operators
 May need to insert parentheses

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 29


Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 3 - 30
Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 3 - 31
Mixed-Type Expressions
and Data Type Conversion
 Data type resulting from math
operation depends on data types of
operands
 Two int values: result is an int
 Two float values: result is a float
 int and float: int temporarily
converted to float, result of the
operation is a float
 Mixed-type expression
 Type conversion of float to int causes
truncation of fractional part
Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 32
Breaking Long Statements
into Multiple Lines (1 of 2)
 Long statements cannot be viewed on
screen without scrolling and cannot be
printed without cutting off
 Multiline continuation character (\):
Allows to break a statement into
multiple lines

result = var1 * 2 + var2 * 3 + \


var3 * 4 + var4 * 5

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 33


Breaking Long Statements
into Multiple Lines (2 of 2)
 Any part of a statement that is enclosed in
parentheses can be broken without the line
continuation character.

print("Monday's sales are", monday,


"and Tuesday's sales are", tuesday,
"and Wednesday's sales are",
Wednesday)

total = (value1 + value2 +


value3 + value4 +
value5 + value6)

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 34


String Concatenation (1 of 2)
 To append one string to the end of another string
 Use the + operator to concatenate strings

>>> message = 'Hello ' + 'world'


>>> print(message)
Hello world
>>>

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 35


String Concatenation (2 of 2)
 You can use string concatenation to
break up a long string literal

print('Enter the amount of ' +


'sales for each day and ' +
'press Enter.')

This statement will display the


following:
Enter the amount of sales for each day and press Enter.

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 36


Implicit String Literal
Concatenation (1 of 2)
 Two or more string literals written adjacent to each
other are implicitly concatenated into a single string

>>> my_str = 'one' 'two' 'three'


>>> print(my_str)
onetwothree

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 37


Implicit String Literal
Concatenation (2 of 2)
print('Enter the amount of '
'sales for each day and '
'press Enter.')

This statement will display the


following:

Enter the amount of sales for each day and press Enter.

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 38


More About The print
Function (1 of 2)
 print function displays line of output
 Newline character at end of printed data
 Special argument end='delimiter'
causes print to place delimiter at end
of data instead of newline character
 print function uses space as item
separator
 Special argument sep='delimiter'
causes print to use delimiter as item
separator

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 39


More About The print Function (2 of 3)

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 3 - 40


More About The print
Function (2 of 2)
 Special characters appearing in string
literal
 Preceded by backslash (\)
 Examples: newline (\n), horizontal tab (\t)
 Treated as commands embedded in
string

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 41


Displaying Formatted
Output with F-strings (1 of 8)
 An f-string is a special type of string
literal that is prefixed with the letter f
>>> print(f'Hello world')
Hello world

 F-strings support placeholders for


variables
>>> name = 'Johnny'
>>> print(f'Hello {name}.')
Hello Johnny.

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 42


Displaying Formatted
Output with F-strings (2 of 8)
 Placeholders can also be expressions
that are evaluated

>>> print(f'The value is {10 + 2}.')


The value is 12.

>>> val = 10
>>> print(f'The value is {val + 2}.')
The value is 12.

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 43


Displaying Formatted
Output with F-strings (3 of 8)
 Format specifiers can be used with
placeholders
>> num = 123.456789
>> print(f'{num:.2f}')
123.46
>>>

 .2f means:
 round the value to 2 decimal places
 display the value as a floating-point number

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 44


Displaying Formatted
Output with F-strings (4 of 8)
 Other examples:

>> num = 1000000.00


>> print(f'{num:,.2f}')
1,000,000.00

>>> discount = 0.5


>>> print(f'{discount:.0%}')
50%

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 45


Displaying Formatted
Output with F-strings (5 of 8)
 Other examples:
>> num = 123456789
>> print(f'{num:,d}')
123,456,789

>>> num = 12345.6789


>>> print(f'{num:.2e}')
1.23e+04

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 46


Displaying Formatted
Output with F-strings (6 of 8)
 Specifying a minimum field width:

>>> num = 12345.6789


>>> print(f'The number is {num:12,.2f}')
The number is 12,345.68
Field width = 12

The number is 12,345.68

Field width = 12

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 47


Displaying Formatted
Output with F-strings (7 of 8)
 Aligning values within a field
 Use < for left alignment
 Use > for right alignment
 Use ^ for center alignment

 Examples:
 print(f'{num:<20.2f}')
 print(f'{num:>20.2f}')
 print(f'{num:^20.2f}’)
Ext2

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 48


Displaying Formatted
Output with F-strings (8 of 8)
 The order of designators in a format specifier
 When using multiple designators in a format specifier, write
them in this order:
[alignment][width][,][.precision][type]

 Example:
 print(f'{number:^10,.2f}')

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 49


Concatenation with F-strings

• When you concatenate two or more f-strings,


the result will also be an f-string

• If you leave out the f prefix on any of the


string literals:

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 3 - 50


Magic Numbers
 A magic number is an unexplained
numeric value that appears in a
program’s code. Example:

amount = balance * 0.069

 What is the value 0.069? An interest


rate? A fee percentage? Only the
person who wrote the code knows for
sure.

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 51


The Problem with Magic
Numbers
 It can be difficult to determine the
purpose of the number.
 If the magic number is used in multiple
places in the program, it can take a lot of
effort to change the number in each
location, should the need arise.
 You take the risk of making a mistake
each time you type the magic number in
the program’s code.
 For example, suppose you intend to type 0.069,
but you accidentally type .0069. This mistake will
cause mathematical errors that can be difficult to
find.

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 52


Named Constants
 You should use named constants instead of
magic numbers.
 A named constant is a name that represents a
value that does not change during the
program's execution.
 Example:
INTEREST_RATE = 0.069
 This creates a named constant named
INTEREST_RATE, assigned the value 0.069. It
can be used instead of the magic number:
amount = balance * INTEREST_RATE

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 53


Advantages of Using
Named Constants
 Named constants make code self-
explanatory (self-documenting)
 Named constants make code easier
to maintain (change the value
assigned to the constant, and the new
value takes effect everywhere the
constant is used)
 Named constants help prevent
typographical errors that are common
when using magic numbers

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 54


Summary

 This chapter covered:


 The program development cycle, tools for
program design, and the design process
 Ways in which programs can receive
input, particularly from the keyboard
 Ways in which programs can present and
format output
 Use of comments in programs
 Uses of variables and named constants
 Tools for performing calculations in
programs

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 55


 Starting out with Python, 5th ed., Tony Gaddis

Copyright © 2022 Pearson Education, Ltd. All Rights Reserved. 2 - 56

You might also like