0% found this document useful (0 votes)
12 views56 pages

Chapter 2

Uploaded by

minaergec2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views56 pages

Chapter 2

Uploaded by

minaergec2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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