Lecture 02 Input Processing Output
Lecture 02 Input Processing Output
Lecture 2
Input, Processing, and Output
2
Topics
• Designing a Program
• Input, Processing, and Output
• Displaying Output with print Function
• Comments
• Variables
• Reading Input from the Keyboard
• Performing Calculations
• More About Data Output
• Named Constants
3
Designing a Program
• 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
4
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
7
Pseudocode (cont’d.)
• For example, suppose you have been asked to write a
program to calculate and display the gross pay for an
hourly paid employee.
• Here are the steps that you would take:
1. Input the hours worked
2. Input the hourly pay rate
3. Calculate gross pay as hours worked multiplied by pay rate
4. Display the gross pay
8
Flowcharts
• 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
9
10
ASCII Features
• 7-bit code
• 8th bit is unused (or used for a parity bit)
• 27 = 128 codes
• Two general types of codes:
• 95 are “Graphic” codes (displayable on a console)
• 33 are “Control” codes (control features of the console or
communications channel)
13
Standard ASCII code (in decimal)
Standard ASCII code (in decimal) 14
95 Graphic codes
Standard ASCII code (in decimal) 15
33 Control codes
16
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
17
Displaying Output with the print
Function (cont’d)
• In interactive mode
• Script mode
18
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
23
Comments (cont’d)
24
Comments (cont’d)
25
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 = 25
• Assignment operator: the equal sign (=)
26
Variables (cont’d.)
• In assignment statement, variable receiving value must
be on left side
Example
28
Example
29
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
32
Example
33
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
34
Storing Strings with the str Data
Type
35
Reassigning a Variable to a Different
Type
• A variable in Python can refer to items of any type
36
Example
38
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
39
Ente
r
40
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
41
Example
46
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
47
48
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
49
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
50
Breaking Long Statements into
Multiple Lines
• 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
Magic Numbers
• A magic number is an unexplained numeric value that
appears in a program’s code. Example:
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
f-Strings
Program s-1
name = "Eric"
age = 74
Print(f"Hello, {name}. You are {age}.")
Program Output
Hello, Erice. You are 74.
61
f-Strings (cont’d)
Program s-2
first_name = "Eric"
last_name = "Idle"
age = 74
profession = "comedian"
affiliation = "Monty Python"
print(f"Hello, {first_name} {last_name}. You are {age}. " +
f"You are a {profession}. " +
f"You were a member of {affiliation}.")
Program Output
Hello, Eric Idle. You are 74. You are a comedian. You
were a member of Monty Python.
62
f-Strings (cont’d)
Program s-3
name = "eric"
sentence = f'{name.title()} is funny.'
print(sentence)
Program Output
Eric is funny.
63
f-Strings (cont’d)
Program s-4
x = 3.14159265
print(f'PI = {x:.2f}')
Program Output
PI = 3.14
64
f-Strings (cont’d)
Program s-5
x = 12345.6789
print(f'x = {x:,.2f}')
Program Output
x = 12,345.68
65
f-Strings (cont’d)
Program s-6 Program Output
s1 = 'ab' 0123456789
s2 = 'abc' ab
abc
s3 = 'abcd'
abcd
s4 = 'abcde' abcde
print(f'01234567890')
print(f'{s1:10}')
print(f'{s2:<10}')
print(f'{s3:^10}')
print(f'{s4:>10}')
66
f-Strings (cont’d)
Program s-7
a = 5
b = 10
print(f'Five plus ten is {a + b} and not {2 * (a + b)}.')
Program Output
Five plus ten is 15 and not 30.
67
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
• print function to display output
• f-string to format output
• Use of comments in programs
• Uses of variables and named constants
• Tools for performing calculations in programs