Upload
shauna-henderson
View
250
Download
4
Tags:
Embed Size (px)
Citation preview
TopicsTopics•Basic calculation•Expressions, variables, and
operator precedence•Data types•Input / Output•Examples
2
A calculatorA calculator•We can use a computer as a
calculator.•Just type expressions into the
Python Shell
3
Python Shell in Wing IDE
A calculatorA calculator•Try this.
4
>>> 10 * 5
50
>>> 1 + 2 + 3 + 4
10
>>> 1+2+3+4
10
>>> 1 * 4 + 5 ** 2
29
Type it into Python Shell
The answer
Spaces are irrelevant
** is for exponentiation
ExpressionExpression•What we have just typed into
the Python Shell is called expressions.
•After the shell reads each expression, the shell evaluate it and reports the result.
5
Easy calculationEasy calculation•An object moves with the
starting speed of 10 m/s with an acceleration of 2 m/s2. After 5 seconds, how far is the object from its starting position?
6
s = ut + at2/2
10 * 5 + 2 * (5*5) / 2
Operators (1)Operators (1)•In previous examples, we use
many operators such as +, -, or /, to tell Python to perform various computations with the data.
•An operator tells Python what operation to perform with its operands.
7
10 * 5
operator
operands
Operators (2)Operators (2)•Operators can be
Binary operators that work with two operands, e.g., +, -, or *.
5 * 3 10 – 2 15*7
Unary operators that work with a single operand, e.g, –.
-3 +2 -5 * 7
8
Operators (2)Operators (2)• Basic mathematical operators are
shown in the table below
9
Operator Meaning
Examples
+ addition
3+5
- subtraction
4-2
* multiplication
4.5*10
/ division see next page
% modulo see next page
** exponentiation
3**4
Division in PythonDivision in Python•There are two operators
related to division
10
expression
result
4/2 2.0
3/2 1.5
10/7 1.4286
3.0/2 1.5
10/7.0 1.4286
expression
result
4%2 0
3%2 1
10%7 3
3.0%2 1.0
10%7.0 3.0
divisionmodulo – find the remainder
Numbers in Numbers in PythonPython
•There are two types for numbers in Python: integer (type int) and floating points (type float)
11
Integer
expressio
n
Value Floating-
point expr.
Values
10 10 10.0 10.03-2 1 3.0-2 1.019*5 95 19*5.2 98.8
Integers v.s. Integers v.s. Floating-pointsFloating-points
• If you write a number without a "dot", it will be treated as an integer.
•Results Every mathematical operation between integer and integer returns an integer, except for division.
Division returns floating-point numbers. Any operations with floating-point numbers return floating-point numbers.
13
Operator Operator precedenceprecedence
•But operators have different precedence, e.g., * or / have higher precedence over + or -.
15
2+3*6
2+(3*6)
Operator Operator precedenceprecedence
•Evaluation order is from left-to-right for operators with the same precedence, except **.
17
Operators Examples
1 () (3+4)2 ** (expo.) 2**33 -,+ (unary) -5, +104 *,/,% 3*4, 7%25 -,+ 2+7, 3-4
Reusing valuesReusing values•A force of 2.5 newton pushes
a rock with mass 1 kg to the left. Where is the rock after 1 second, 5 second and 15 second?
20
(1.0/2.5)*1*1/2(1.0/2.5)*5*5/2
(1.0/2.5)*15*15/2
Redundan
t
VariablesVariables•We can use variables to refer
to result from previous computation.
21
a*1*1/2a*5*5/2
a*15*15/2
a = 1.0/2.5
a 0.4
VariablesVariables
•A variable is used to refer to various data.•Use "=" to assign a value to a variable.•When we refer to that variable, we get the
value that the variable is referring to.
22
a = 1.0/2.50.4
a
Variables can be Variables can be "modified" (1)"modified" (1)
23
a = 10a * 5b = 3a + ba = 7a + ba = b + 5aa + b
50
13
10
8
11
A programA program•A program is a sequence of
commands (or statements)
29
a = 10b = a + 5a - bc = 12b = a + cc = a*ba + b + c1 + a - c
Try totype this into
Wing IDE
A programA program•A program is a sequence of
commands (or statements)
32
a = 10b = a + 5print(a – b)c = 12b = a + cc = a*bprint(a + b + c)print(1 + a – c)
Add"print"
to display the valueof the required
expressions
What's going on?What's going on?
•The expressions on the parameter list are evaluated before sending the result to the function.
35
print(a + b * 2)print(a + b * 2)
2020Assume thatAssume that
a = 5a = 5
b = 10b = 10 2525
print(25)print(25)print(25)print(25)
A simple A simple calculation calculation programprogram•We have the following coins
5 one-baht coins 7 ten-baht coins 2 twenty-baht notes 3 hundred-baht notes
36
sum1 = 1 * 5sum10 = 10 * 7sum20 = 20 * 2sum100 = 100 * 3sum = sum1+sum5+sum20+sum100print(sum)
How muchmoney do
wehave ?
A simple programA simple program (2)(2)
•Or we can even remove variable sum
37
sum1 = 1 * 5sum10 = 10 * 7sum20 = 20 * 2sum100 = 100 * 3print(sum1+sum5+sum20+sum100)
Meaningful namesMeaningful names
38
a = 1 * 5b = 10 * 7c = 20 * 2d = 100 * 3e = a + b + c + dprint(e)
sum1 = 1 * 5sum10 = 10 * 7sum20 = 20 * 2sum100 = 100 * 3sum = sum1+sum5+sum20+sum100print(sum)
Theyperform thesame taskWhich oneis
easier to
understand?
Compare
these two
programs
SuggestionsSuggestions•Write programs
for people to read At the very
least, one of the audience is yourself.
39
Comments (#)Comments (#)•To make a program easier to
read, we can add comments to the program
•Everything after the # symbol is a comment.
40
A program with A program with commentscomments
41
# this program calculates total money# from the amount of each type of coins or# bank notes that you havesum1 = 1 * 5 # value of 1-baht coinssum10 = 10 * 7sum20 = 20 * 2sum100 = 100 * 3print(sum1+sum5+sum20+sum100)
”Hello
StringsStrings•A computer can work with many types of
data.•A string is another data type which is very
important. It is a type for texts or messages.•Formally, a string is a sequence of characters.
42
”Hello, world”
String constantsString constants•We can either use single or double
quotes to specify strings, e.g., ”Hello” ’World’
•However, the starting quotes and the ending quotes must match.
•We can also have special characters inside a string. They will start with backslash " \ ".
43
Examples (1)Examples (1)
44
print("hello") hello
print('hello') hello
print("I'm 9") I'm 9
print('I'm 9') ERROR
print('I\'m 9') I'm 9
print("I\'m 9") I'm 9
Examples (2)Examples (2)
45
print("123") 123
print(123) 123
print("12" + "3") 123
print(12 + 3) 15
print("12" + '3') 123
print("12" + 3) ERROR
A slightly better A slightly better programprogram
46
sum1 = 1 * 5sum10 = 10 * 7sum20 = 20 * 2sum100 = 100 * 3sum = sum1+sum5+sum20+sum100print("The total is",sum)
The total is 415
A slightly even A slightly even better programbetter program
47
sum1 = 1 * 5sum10 = 10 * 7sum20 = 20 * 2sum100 = 100 * 3sum = sum1+sum5+sum20+sum100print("The total is",sum,"bath.")
The total is 415 bath.
Sidenote: printing Sidenote: printing and new linesand new lines
•We can display data using function print.
•It will always add a new line at the end.
•If we want to avoid the new line, we can add an additional option "end" to print.
48
print(10)print(20)print(10,end='')print(20)
10201020
10201020
This tells print to end this output with an empty string, instead of a new line.
Reading inputsReading inputs•We can use function input to
read data from the user
input
•The function returns a string that the user types into the shell.
49
Examples in the Examples in the Python ShellPython Shell
>>> name = input()Somchai>>> print("Hello", name)Hello Somchai>>> a = input()10>>> b = input()100>>> print(a+b)10100
50
RemarksRemarks•Consider this statement
print(a+b)
•Since both variables a and b are strings from function input. When we add two strings, we only get the concatenation of them.
51
ConversionConversion•We can use function int, float, and str to convert between various data types
53
int("10")
float("10")
float(10)
10
10.0
10.0
int(10.6) 10
Type conversionType conversion
54
int("10")+10
float("10")+10
float(10)+int(5)
20
20.0
15.0
str(10)+str(5) 105
Conversion between Conversion between float and int (1)float and int (1)
55
int(10.2)
int(10.9)
10
10
Always return the integers without the fractional
parts.
int(-10.1) -10
Conversion between Conversion between float and int (2)float and int (2)
56
round(10.2)
round(10.9)
10
11
We can also use function round that returns the closest
integers.
round(-10.1) -10
Adding two Adding two numbersnumbers
57
# This program adds two numbersastr = input()a = int(astr)bstr = input()b = int(bstr)print("The result is",a+b)
Nested function Nested function calls (1)calls (1)
•Consider this part of the program
•We use variable astr to refer to an input string. We then convert it to an integer and assign the result to variable a.
•We can avoid using variable astr:
58
astr = input()a = int(astr)
a = int(input())
Nested function Nested function calls (2)calls (2)
•This is how it works.
59
a = int(input())
input()
int"12345"
12345
a = 12345a
Two additional Two additional important important functionsfunctions
60
Functions Return valuesabs(x) Returns the absolute
value of xpow(x,y) Returns the value of
xy
Money calculationMoney calculation ((improvedimproved))
61
# This program calculates total amount# of money from numbers of bank notesp1 = int(input())sum1 = 1 * p1p5 = int(input())sum5 = 10 * p5p20 = int(input())sum20 = 20 * p20p100 = int(input())sum100 = 100 * p100sum = sum1+sum5+sum20+sum100print("The total is",sum,"bath.")
A promptA prompt•We can tell function input to
display a prompt before reading input by providing a string argument to input
62
Enter X: 100
110
Thinking cornerThinking corner•An object, initially sitting still,
starts moving with an acceleration of a m/s2 for t seconds.
•Write a program that reads the acceleration and the duration and computes the displacement.
63
SolutionSolution
64
a = float(input("Enter a: "))t = float(input("Enter t: "))print("Total distance =", a*t*t/2)
Thinking cornerThinking corner
65
Enter length in inch: 320It is 26 feet, 8 inch.Enter length in inch: 320It is 26 feet, 8 inch.
x = int(input("Enter length in inch"))xf = int(x/12)xi = x – xf * 12print("It is", xf, "feet,",xf,"inch.")
x = int(input("Enter length in inch"))xf = int(x/12)xi = x – xf * 12print("It is", xf, "feet,",xf,"inch.")
•We can use 22/7 (which is
quite inaccurate).•We can use a closer
estimation, in module math.
67
3.1415926535897933.141592653589793
TheThe math modulemath module•In Python, functions are
categorized into various groups, called modules. To use functions from a module, we have to declare that by using the import statement.
•Then all functions can be referred to by prefixing with the module name.
68
import math
print("Pi is", math.pi)
import math
print("Pi is", math.pi)
3.1415926535897933.141592653589793
Thinking cornerThinking corner•Write a program
that reads r and h and compute the volume of a cylinder.
69
hh
r
r2 x h
SolutionSolution
70
import math
r = float(input("Enter r: "))h = float(input("Enter h: "))print("Volume =", math.pi*r*r*h)
import math
r = float(input("Enter r: "))h = float(input("Enter h: "))print("Volume =", math.pi*r*r*h)
Important Important functions infunctions in math math
modulemodule
71
Functions Goalsfabs(x) The absolute value of xsin(x), cos(x), tan(x)
Trigonometric functions of x (the angles are specified in radian)
pi Constant Pie Constant elog(x),log10(x) Natural logarithm,
logarithm base 10exp(x) The value of ex
sqrt(x) Square root of x
Another exampleAnother example•Projection
72
t
fimport math# radian angles
fy = f * math.sin(t)fx = f * math.cos(t)
import math# radian angles
fy = f * math.sin(t)fx = f * math.cos(t)
# don't forget to import math# recall that the angle must be in radian
r = t * math.pi/180fy = f * math.sin(r)fx = f * math.cos(r)
# don't forget to import math# recall that the angle must be in radian
r = t * math.pi/180fy = f * math.sin(r)fx = f * math.cos(r)