Lecture02 03 | PDF | Variable (Computer Science) | Data Type
0% found this document useful (0 votes)
3 views

Lecture02 03

Uploaded by

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

Lecture02 03

Uploaded by

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

CN101

Lecture 2-3
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

Designing a Program (cont’d.)


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

Designing a Program (cont’d.)


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

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
11

Codes and Characters


• Each character is coded as a byte
• Most common coding system is ASCII (Pronounced
as-key)
• ASCII = American National Standard Code for
Information Interchange
12

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)
Standard ASCII code (in decimal) 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

chr(n) and ord(str) functions


• Functions chr(n) and ord(str) access ASCII
values
• print(chr(65)) displays the letter A
• print(ord(' A' )) displays the number 65

>>> print(chr(65)) Enter


A
>>> print(ord('A')) Enter
65
>>>
19

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
20

Strings and String Literals (cont’d)


• If you want a string literal to contain either a single-quote or
an apostrophe as part of the string, you can enclose the string
literal in double-quote marks
21

Strings and String Literals (cont’d)


• Similarly if you want a string literal to contain a double-quote,
you can enclose the string literal in single-quote marks
22

Strings and String Literals (cont’d)


• String literal can be enclosed in triple quotes (''' or """)
• Enclosed string can contain both single and double quotes and can
have multiple lines
• Here is an example:
23

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
24

Comments (cont’d)
25

Comments (cont’d)
26

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 (=)
27

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
28

Example
29

Example
30

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

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
33

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

Storing Strings with the str Data Type


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

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
38

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

Enter
41
eval()function
• The eval() function evaluates the specified expression,
if the expression is a legal Python statement, it will be
executed.

>>> eval('1 + 2')


3
>>> eval(1 + 2)
Traceback (most recent call last):
File "<stdin>", line 1, in
<module>
TypeError: eval() arg 1 must be a
string, bytes or code object
>>>
input2.py 42

1 # Get the user's name, age, and income.


2 name = input('What is your name? ‘)
3 age = eval(input('What is your age? ‘))
4 income = eval(input('What is your income? ‘))
5
6 # Display the data.
7 print('Here is the data you entered:’)
8 print('Name:', name)
9 print('Age:', age)
10 print('Income:', income)

What is your name? Peter Enter


What is your age? 35 Enter
What is your income? 10000.50 Enter

Here is the data you entered:


Name: Peter
Age: 35
Income: 10000.5
43
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
44

Performing Calculations (cont’d)


45
Performing Calculations (cont’d)
• Two types of division:
• / operator performs floating point division
• // operator performs integer division
• Positive results truncated, negative rounded away from zero
46
47
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
48

Example
49
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
50
51
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
52
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
53
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

result = var1 * 2 + var2 * 3 + \


var3 * 4 + var4 * 5
54
Breaking Long Statements into
Multiple Lines
• 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)
55

More About Data Output


• 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
56

More About Data Output (cont’d.)


• Special characters appearing in string literal
• Preceded by backslash (\)
• Examples: newline (\n), horizontal tab (\t)
• Treated as commands embedded in string
57

More About Data Output (cont’d.)


• When + operator used on two strings in performs string
concatenation
• Useful for breaking up a long string literal
58

Formatting Numbers
• Can format display of numbers on screen using built-in
format function
• Two arguments:
• Numeric value to be formatted
• Format specifier
• Returns string containing formatted number
• Format specifier typically includes precision and data type
• Can be used to indicate comma separators and the minimum field
width used to display the value
59

Example
60

Example
61

Inserting Comma Separators


• If you want the number to be formatted with comma
separators, you can insert a comma into the format
specifier, as shown here:
62
63

Specifying a Minimum Field Width


• The format specifier can also include a minimum field
width, which is the minimum number of spaces that
should be used to display the value. The following
example prints a number in a field that is 12 spaces
wide:
64
65
Formatting a Floating-Point Number
as a Percentage
• The % symbol can be used in the format string of
format function to format number as percentage
66

Formatting Integers
• To format an integer using format function:
• Use d as the type designator
• Do not specify precision
• Can still use format function to set field width or comma
separator
67

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.
68

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.
69

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
70
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
71

Python String Formatting


• Python supports multiple ways to format text strings.
For example, %-formatting, str.format(), and f-Strings.
72

%-formatting
• Strings in Python have a unique built-in operation that
can be accessed with the % operator.
Program s-1

name = "Eric"
print("Hello, %s." % name)

Program Output

Hello, Eric.
73

%-formatting (cont’d)
Program s-2

name = "Eric"
age = 74
print("Hello, %s. You are %s." % (name, age))

Program Output

Hello, Eric. You are 74.


74

%-formatting (cont’d)
Program s-3

first_name = "Eric"
last_name = "Idle"
age = 74
profession = "comedian"
affiliation = "Monty Python"
print("Hello, %s %s. You are %s. You are a %s.
You were a member of %s." %
(first_name, last_name, age, profession, affiliation))

Program Output

Hello, Eric Idle. You are 74. You are a comedian. You
were a member of Monty Python.
75

str.format()
• str.format() was introduced in Python 2.6. With
str.format(), the replacement fields are marked by curly
braces
Program s-4

name = "Eric"
age = 74
print("Hello, {}. You are {}.".format(name, age))

Program Output

Hello, Eric. You are 74.


76

str.format() (cont’d)
• You can reference variables in any order by referencing
their index.
Program s-5

name = "Eric"
age = 74
print("Hello, {1}. You are {0}.".format(age, name))

Program Output

Hello, Eric. You are 74.


77

str.format() (cont’d)
Program s-6

first_name = "Eric"
last_name = "Idle"
age = 74
profession = "comedian"
affiliation = "Monty Python"
print(("Hello, {first_name} {last_name}. You are {age}. " +
"You are a {profession}. You were a member of {affiliation}.") \
.format(first_name=first_name, last_name=last_name, age=age, \
profession=profession, affiliation=affiliation))

Program Output

Hello, Eric Idle. You are 74. You are a comedian. You were
a member of Monty Python.
78

Python 3's f-Strings


• Python 3.6 added a new string formatting approach
called formatted string literals or “f-strings”.
• Also called “formatted string literals,” f-strings are string
literals that have an f at the beginning and curly braces
containing expressions that will be replaced with their
values.
79

f-Strings
Program s-7

name = "Eric"
age = 74
print(f"Hello, {name}. You are {age}.")

Program Output
Hello, Eric. You are 74.
80

f-Strings (cont’d)
Program s-8

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.
81

f-Strings (cont’d)
Program s-9

name = "eric"
sentence = f'{name.title()} is funny.'
print(sentence)

Program Output
Eric is funny.
82

f-Strings (cont’d)
Program s-10

x = 3.14159265
print(f'PI = {x:.2f}')

Program Output

PI = 3.14
83

f-Strings (cont’d)
Program s-11

x = 12345.6789
print(f'x = {x:,.2f}')

Program Output

x = 12,345.68
84

f-Strings (cont’d)
Program s-12

s1 = 'ab'
s2 = 'abc'
s3 = 'abcd'
s4 = 'abcde'
print(f'{s1:10}')
print(f'{s2:<10}')
print(f'{s3:^10}')
print(f'{s4:>10}')

Program Output

ab
abc
abcd
abcde
85

f-Strings (cont’d)
Program s-13

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.


86

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

You might also like