2018.7.3
day01回顾:
python的版本
python 2
python 3
解释执行器
python3 (C语言开发,CPython的一种)
python 文件的后缀 .py
运行两种模式:
执行模式:
python3 xxxx.py
交互模式:
python3 <回车>
>>>
数字类型:
整型数int, 浮点型数float, 复数complex, 布尔型数 bool
整数:
-100, 100, 0, 999999999999
0b1001
0o1234567
0x1a2b3c
浮点型数:
3.14
0.314e1
复数:
1+2j
布尔型数:
True, False
None 空值
运算符:
+ - * / // % **
() 分组子表达式
变量
变量名必须标识符:
标识符的正则表达式:
[A-Za-z_] [A-Za-z0-9_]*
变量名不能是关键字
True, False, None, is, not, del, ...
赋值语句:
变量名 = 表达式
x = 100
变量名1 = 变量名2 = 变量名3 = .... = 表达式
x = y = z = 100
变量名1, 变量名2, 变量名3 = 序列 (序列赋值)
x, y, z = 100, 200, 300
del 语句删除变量
引用计数 refrence count
is / is not 运算符
id(obj) 返回一个对象的地址
小整数对象池
-5 ~ 256
复合赋值运算:
+= -= *= /= //= %= **=
变量名 += 表达式
day02 笔记:
比较运算符
运算符:
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
语法:
左表达式 < 右表达式
说明:
比较运算返回布尔类型的值
例:
20 < 100 # True
300 >= 20 # True
1 == 2 # False
x = 70
y = 70
x != y # False
0 <= x <= 100 # True
数值对象的构造(创建)函数
float(obj) 用字符串或数字转换为浮点数,如果不给出实参,则返回0.0
int(x=0, base=10) 用数字或字符串转换为整数,如果不给出实参则返回0
complex(r=0.0, i=0.0) 用数字创建一个复数
bool(x) 用x创建一个布尔值(True/False)
函数调用表达式
函数名(传参列表)
说明:
函数调用是表达式,此表达式一定会返回一个对象的引用关系。如果不需要返回值时,通常返回None对象的引用关系
bool(obj) 返回假值的情况:
None 空值
Flase 假值
0, 0.0, 0j 所有的数字零
-----以下后面会讲-------
'' 空字符串
[] 空列表
{} 空字典
() 空元组
...
练习:
将数字3.14 用变量pi绑定
将pi变量转为整数,用变量i绑定
将 pi 变量 与 i变量相减,结果用f变量绑定
1. 判断f是否等于 0.14? 为什么?
2. 删除所有的变量
(用交互模式来实现)
内建数值型函数
abs(x) 取x的绝对值
round(number, ndigits=0) 对数值进行'四舍五入',ndigits是小数向右取整的位数,负数表示向左取整
pow(x, y, z=None) 相当于 x ** y 或 x ** y % z
help() 函数查看帮助
help(函数名或对象名)
>>> help(abs)
语句 statements
语句由一些表达式组成,通常一条语句可以独立执行来完成一部分事情并形成结果
python建议一条语句写在一行内
多条语句写在一行内需要用分号(;) 分开
示例:
print("hello")
x = 100 + 200
print(x)
# 写在一行内为:
print("hello"); x = 100 + 200; print(x)
显式换行:
折行符 \ (读作反斜杠)
折行符必须放在一行的末尾,来示意解释执行器下一行也是本行的语句
示例见:
statements.py
隐式折行
所有的括号的内容换行,称为隐式换行
括号包括() [] {}
基本输入函数 input
作用:
从标准输入设备上读取一个字符串(末尾的换行符会被删除)
格式:
input('提示字符串')
说明:
返回输入的字符串(仅python3)
提示字符串可以为空
示例见:
input.py
基本输出函数 print
作用:
将一系列的值以字符形式输出到标准输出设备上,默认为终端
格式:
print(value, .... sep=' ', end='\n', file=sys.stdout, flush=False)
选项的关键字参数:
sep: 两个值之间的分隔符, 默认为一个空格' '
end: 输出完毕后在末尾自动追加一个字符串,默认为换行符'\n'
示例见:
print.py
练习:
1. 输入两个整数, 分别用变量x, y绑定
1) 计算这两个数的和,并打印结果
2) 计算这两个数的积,并打印结果
3) 计算x的y次方并打印结果
如:
请输入x: 10
请输入y: 20
打印如下:
10 + 20 = 30
10 * 20 = 200
10 ** 20 = ...
2. 今天是小明20周岁的生日,假设每年有365天,计算它过了多少个星期天,余多少天
3. 分三次输入当前的小时,分钟和秒数,在终端打印时此距离凌晨0:0:0 秒过了多少秒
问题:
请输入一个整数:
print("这个数是奇数")
print("这个数是偶数")
if 语句:
作用:
让程序根据条件选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
语句块1
elif 真值表达式2:
语句块2
elif 真值表达式3:
语句块3
...
else:
语句块
说明:
elif 可以有0个,1个或多个
else 可以有0个或1个
示例见:
if.py
if2.py
练习:
任意输入一个数
1) 判断这个数是否大于100
2) 判断这个数是否小于0
3)判断这个数是否在80~100之间
练习:
1. 输入一个季度 1~4的整数.输出这个季度有哪儿几个月,如果输入的不是1~4的整数,则提示用户您输错了
2. 输入一年中的月份(1~12) 输出这个月在哪儿个季度,如果输入的是其它数,则提示您输错了
if 语句的真值表达式
if 100:
print('真值')
等同于:
if bool(100):
print('真值')
if 语句 真值表达式返回的对象要用bool(x)取值后再决定执行哪儿条语句
if 语句的嵌套
if 语句本身是由多条子句组成的一条复合语句
if 语句可以作为语句嵌套到另一个语句的内部
示例见:
改写 month.py
条件表达式:
语法:
表达式1 if 真值表达式 else 表达式2
作用:
根据真值表达式的取值(True/False) 来决定执行表达式1或表达式2,并返回结果
示例见:
if_else.py
练习:
1. 写一个程序,输入一个数,用if语句计算这个数的绝对值并打印出来
2. 写一个程序,输入一个数,用条件表达式计算这个数的绝对值并打印出来
pass 语句
作用:
通常用来填充语法空白
pass 又名空语句
语法:
pass
示例见:
pass.py
布尔运算
运算符:
not and or
布尔非操作 not
语法:
not x
作用:
对表达式x进行布尔取非.如bool(x) 为True则返回False, 否则返回True
示例:
not True # 返回False
not False # 返回True
month = 10
if not 1 <= month <= 12:
print('month 不在1~12之间')
布尔与操作 and
语法:
x and y
注: x, y 代表表达式
作用:
优先返回假值对象
当x的布尔值为False时,返回x, 否则返回y
示例:
True and True # True
True and False # False
False and True # False
False and False # False
0 and 0.0 # 0
1.2 and 100 # 100
布尔或操作 or
语法:
x or y
作用:
优先返回真值对象
当x为True时返回x,否则返回y
示例:
True or True # True
True or False # True
False or True # True
False or False # False
0 or 0.0 # 0.0
100 or 200 # 100
思考:
score = input('请输入学生成绩:') or '0'
score = int(score)
请问这个or是在做什么?
正负号运算符:
+ (正号)
- (负号)
语法:
+ 表达式
- 表达式
说明:
这是一元运算符(只有一个数据参加运算)
示例:
a = 5
b = -a
c = +a
练习:
1. 北京出租车计价:
收费标准:
3公里以内收费13元
基本单价: 2.3元/公里 (超出3公里以外)
空驶费:超过15公里后,每公里加收单价的50%的空驶费(即3.45元/公里)
要求:
输入公里数,打印出费用金额(以元为单位四舍五入)
2. 输入一个学生的三科成绩(三个整数):
打印出最高分是多少?
打印出最低分是多少?
打印出平均分是多少?
3. BMI指数(Body Mass Index) 以称身体质量指数
BMI值计算公式:
BMI = 体重(公斤) / 身高的平方(米)
例如:
一个人69公斤,身高是173公分
BMI = 69 / 1.73**2 = 23.05
标准表:
BMI < 18.5 体重过轻
18.5 <= BMI < 24 体重正常
BMI > 24 体重过重
要求: 输入身高的体重,打印出BMI的值并打印体重状况
day01回顾:
python的版本
python 2
python 3
解释执行器
python3 (C语言开发,CPython的一种)
python 文件的后缀 .py
运行两种模式:
执行模式:
python3 xxxx.py
交互模式:
python3 <回车>
>>>
数字类型:
整型数int, 浮点型数float, 复数complex, 布尔型数 bool
整数:
-100, 100, 0, 999999999999
0b1001
0o1234567
0x1a2b3c
浮点型数:
3.14
0.314e1
复数:
1+2j
布尔型数:
True, False
None 空值
运算符:
+ - * / // % **
() 分组子表达式
变量
变量名必须标识符:
标识符的正则表达式:
[A-Za-z_] [A-Za-z0-9_]*
变量名不能是关键字
True, False, None, is, not, del, ...
赋值语句:
变量名 = 表达式
x = 100
变量名1 = 变量名2 = 变量名3 = .... = 表达式
x = y = z = 100
变量名1, 变量名2, 变量名3 = 序列 (序列赋值)
x, y, z = 100, 200, 300
del 语句删除变量
引用计数 refrence count
is / is not 运算符
id(obj) 返回一个对象的地址
小整数对象池
-5 ~ 256
复合赋值运算:
+= -= *= /= //= %= **=
变量名 += 表达式
day02 笔记:
比较运算符
运算符:
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
语法:
左表达式 < 右表达式
说明:
比较运算返回布尔类型的值
例:
20 < 100 # True
300 >= 20 # True
1 == 2 # False
x = 70
y = 70
x != y # False
0 <= x <= 100 # True
数值对象的构造(创建)函数
float(obj) 用字符串或数字转换为浮点数,如果不给出实参,则返回0.0
int(x=0, base=10) 用数字或字符串转换为整数,如果不给出实参则返回0
complex(r=0.0, i=0.0) 用数字创建一个复数
bool(x) 用x创建一个布尔值(True/False)
函数调用表达式
函数名(传参列表)
说明:
函数调用是表达式,此表达式一定会返回一个对象的引用关系。如果不需要返回值时,通常返回None对象的引用关系
bool(obj) 返回假值的情况:
None 空值
Flase 假值
0, 0.0, 0j 所有的数字零
-----以下后面会讲-------
'' 空字符串
[] 空列表
{} 空字典
() 空元组
...
练习:
将数字3.14 用变量pi绑定
将pi变量转为整数,用变量i绑定
将 pi 变量 与 i变量相减,结果用f变量绑定
1. 判断f是否等于 0.14? 为什么?
2. 删除所有的变量
(用交互模式来实现)
内建数值型函数
abs(x) 取x的绝对值
round(number, ndigits=0) 对数值进行'四舍五入',ndigits是小数向右取整的位数,负数表示向左取整
pow(x, y, z=None) 相当于 x ** y 或 x ** y % z
help() 函数查看帮助
help(函数名或对象名)
>>> help(abs)
语句 statements
语句由一些表达式组成,通常一条语句可以独立执行来完成一部分事情并形成结果
python建议一条语句写在一行内
多条语句写在一行内需要用分号(;) 分开
示例:
print("hello")
x = 100 + 200
print(x)
# 写在一行内为:
print("hello"); x = 100 + 200; print(x)
显式换行:
折行符 \ (读作反斜杠)
折行符必须放在一行的末尾,来示意解释执行器下一行也是本行的语句
示例见:
statements.py
隐式折行
所有的括号的内容换行,称为隐式换行
括号包括() [] {}
基本输入函数 input
作用:
从标准输入设备上读取一个字符串(末尾的换行符会被删除)
格式:
input('提示字符串')
说明:
返回输入的字符串(仅python3)
提示字符串可以为空
示例见:
input.py
基本输出函数 print
作用:
将一系列的值以字符形式输出到标准输出设备上,默认为终端
格式:
print(value, .... sep=' ', end='\n', file=sys.stdout, flush=False)
选项的关键字参数:
sep: 两个值之间的分隔符, 默认为一个空格' '
end: 输出完毕后在末尾自动追加一个字符串,默认为换行符'\n'
示例见:
print.py
练习:
1. 输入两个整数, 分别用变量x, y绑定
1) 计算这两个数的和,并打印结果
2) 计算这两个数的积,并打印结果
3) 计算x的y次方并打印结果
如:
请输入x: 10
请输入y: 20
打印如下:
10 + 20 = 30
10 * 20 = 200
10 ** 20 = ...
2. 今天是小明20周岁的生日,假设每年有365天,计算它过了多少个星期天,余多少天
3. 分三次输入当前的小时,分钟和秒数,在终端打印时此距离凌晨0:0:0 秒过了多少秒
问题:
请输入一个整数:
print("这个数是奇数")
print("这个数是偶数")
if 语句:
作用:
让程序根据条件选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
语句块1
elif 真值表达式2:
语句块2
elif 真值表达式3:
语句块3
...
else:
语句块
说明:
elif 可以有0个,1个或多个
else 可以有0个或1个
示例见:
if.py
if2.py
练习:
任意输入一个数
1) 判断这个数是否大于100
2) 判断这个数是否小于0
3)判断这个数是否在80~100之间
练习:
1. 输入一个季度 1~4的整数.输出这个季度有哪儿几个月,如果输入的不是1~4的整数,则提示用户您输错了
2. 输入一年中的月份(1~12) 输出这个月在哪儿个季度,如果输入的是其它数,则提示您输错了
if 语句的真值表达式
if 100:
print('真值')
等同于:
if bool(100):
print('真值')
if 语句 真值表达式返回的对象要用bool(x)取值后再决定执行哪儿条语句
if 语句的嵌套
if 语句本身是由多条子句组成的一条复合语句
if 语句可以作为语句嵌套到另一个语句的内部
示例见:
改写 month.py
条件表达式:
语法:
表达式1 if 真值表达式 else 表达式2
作用:
根据真值表达式的取值(True/False) 来决定执行表达式1或表达式2,并返回结果
示例见:
if_else.py
练习:
1. 写一个程序,输入一个数,用if语句计算这个数的绝对值并打印出来
2. 写一个程序,输入一个数,用条件表达式计算这个数的绝对值并打印出来
pass 语句
作用:
通常用来填充语法空白
pass 又名空语句
语法:
pass
示例见:
pass.py
布尔运算
运算符:
not and or
布尔非操作 not
语法:
not x
作用:
对表达式x进行布尔取非.如bool(x) 为True则返回False, 否则返回True
示例:
not True # 返回False
not False # 返回True
month = 10
if not 1 <= month <= 12:
print('month 不在1~12之间')
布尔与操作 and
语法:
x and y
注: x, y 代表表达式
作用:
优先返回假值对象
当x的布尔值为False时,返回x, 否则返回y
示例:
True and True # True
True and False # False
False and True # False
False and False # False
0 and 0.0 # 0
1.2 and 100 # 100
布尔或操作 or
语法:
x or y
作用:
优先返回真值对象
当x为True时返回x,否则返回y
示例:
True or True # True
True or False # True
False or True # True
False or False # False
0 or 0.0 # 0.0
100 or 200 # 100
思考:
score = input('请输入学生成绩:') or '0'
score = int(score)
请问这个or是在做什么?
正负号运算符:
+ (正号)
- (负号)
语法:
+ 表达式
- 表达式
说明:
这是一元运算符(只有一个数据参加运算)
示例:
a = 5
b = -a
c = +a
练习:
1. 北京出租车计价:
收费标准:
3公里以内收费13元
基本单价: 2.3元/公里 (超出3公里以外)
空驶费:超过15公里后,每公里加收单价的50%的空驶费(即3.45元/公里)
要求:
输入公里数,打印出费用金额(以元为单位四舍五入)
2. 输入一个学生的三科成绩(三个整数):
打印出最高分是多少?
打印出最低分是多少?
打印出平均分是多少?
3. BMI指数(Body Mass Index) 以称身体质量指数
BMI值计算公式:
BMI = 体重(公斤) / 身高的平方(米)
例如:
一个人69公斤,身高是173公分
BMI = 69 / 1.73**2 = 23.05
标准表:
BMI < 18.5 体重过轻
18.5 <= BMI < 24 体重正常
BMI > 24 体重过重
要求: 输入身高的体重,打印出BMI的值并打印体重状况