0% found this document useful (0 votes)
25 views48 pages

SU+2 Slides PPT ch02

Chapter 2 of 'Starting out with Python' covers the fundamentals of program design, including the development cycle, pseudocode, and flowcharts. It explains the processes of input, processing, and output, along with the use of variables, data types, and the print function for displaying output. The chapter also discusses string manipulation, comments, and performing calculations, emphasizing the importance of proper design and syntax in programming.

Uploaded by

varsityebooks
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)
25 views48 pages

SU+2 Slides PPT ch02

Chapter 2 of 'Starting out with Python' covers the fundamentals of program design, including the development cycle, pseudocode, and flowcharts. It explains the processes of input, processing, and output, along with the use of variables, data types, and the print function for displaying output. The chapter also discusses string manipulation, comments, and performing calculations, emphasizing the importance of proper design and syntax in programming.

Uploaded by

varsityebooks
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

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


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-5


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-6


Pseudocode
• Pseudocode: fake code
– Informal language that has no syntax rule
– Not meant to be compiled or executed
– Used to create model program
▪ No need 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-7


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
– Symbols are connected by arrows that represent the
flow of the program

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


Flowcharts (2 of 2)

Figure 2-2 The program development cycle

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


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 - 10


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 - 11


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 """)
▪ Enclosed string can contain both single and double quotes and
can have multiple lines

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


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 - 13


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 - 14


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 - 15


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 - 16


Displaying Multiple Items with the
print Function
• Python allows one to display multiple items with a
single call to print
– Items are separated by commas when passed as
arguments
– Arguments displayed in the order they are passed to
the function
– Items are automatically separated by a space when
displayed on screen

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


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
– Variable that has been assigned to one type can be
reassigned to another type

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


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 - 19


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 - 20


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

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


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 - 22


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 - 23


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 - 24


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
– Typically used to convert times and distances, and to
detect odd or even numbers

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


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 - 26


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 - 27


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 - 28


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 - 29


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 - 30


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 - 31


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 - 32


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 - 33


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 - 34


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 - 35


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 - 36


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 - 37


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 - 38


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 - 39


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 - 40


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 - 41


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}')

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


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 - 43


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 - 44


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 - 45


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 - 46
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 - 47


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 - 48

You might also like