复合赋值算术运算符
运算符 说明
y += x 作用等同于 y = y + x
y -= x 作用等同于 y = y - x
y *= x 作用等同于 y = y * x
y /= x 作用等同于 y = y / x
y //= x 作用等同于 y = y // x
y %= x 作用等同于 y = y % x
y **= x 作用等同于 y = y ** x
比较运算符
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
语法:
左表达式 > 右表达式
说明:
比较运算符通常返回布尔类型的值
示例:
100 < 200 # True
100 >= 200 # False
1 + 5 == 2 + 4 # True
0 <= 100 <= 200 # True
数值对象的构造(创建)函数
float(obj) 用字符串或数字转换为浮点数,如果不给出参数,则返回0.0
int(x, base=10) 或 int(x=0) 用数字或字符串转换为整数,如果不给出参数则返回0,base为进制转换的底数
complex(r=0.0, i=0.0) 用数字创建一个复数(实部为r,虚部为i)
bool(x) 用x创建一个布尔值(True/False)
函数调用:
函数名(传参列表)
说明:
函数调用表达式,一定会返一个对象的引用关系
bool(x) 返回假值的情况
bool(x) 用于显式获取x的布尔值
假值情况:
None 空值
False 布尔假值
0 0.0 0j 所有数字零
------以下后面会讲-----
'' 空字符串
[] 空列表
() 空元组
{} 空字典
set() 空集合
... # 一切空的容器对象bool(x)取值都为False
练习:
将数字3.14 用变量 pi绑定
将pi变量转为整数用变量 i 绑定
将 pi 变量与 i 变量相减,结果用变量 f 绑定
1. 判断f 是否等于 0.14? 为什么?
2. 删除所有的变量
(用交互模式来做)
预置数值型函数
abs(x) 取x的绝对值
round(number[,ndigits])对数值进行近似的四舍五入,ndigits是小数向右取整的位数,负数表示向左取整
pow(x, y, z=None) 相当于 x ** y 或 x ** y % z
help() 查看函数帮助
>>> help(函数名)
小结:
id(x) 返回整数的x对象的地址
float(x)
int(x, base=10)
complex(r=0, i=0)
bool(x)
基本输入函数 input
input('提示字符串') 返回用户输入的字符串('提示字符串'可以为空)
示例见:
input.py
基本输出函数 print
作用:
将一系列的值以字符串形式输出到标准输出设备上,默认为终端
格式:
print(value, ..., sep=' ', end='\n')
选项的关键字参数为:
sep: 两个值之间的分隔符,默认为一个空格
end: 输出完毕后在流末尾自动追加一个字符串.默认为换行符'\n'
示例见:
print.py
练习:
1. 今天是小明的20岁生日, 假设每年有365天,计算它过了多少个星期天,余多少天(不要求精确)
2. 分三次输入当前的小时,分钟,秒数
在终端打印出距离 0:0:0 过了多少秒
练习:
输入两个整数,分别用变量 x 和 y绑定
1) 计算这两个数的和,并打印结果
2) 计算这两个数的积,并打印结果
3) 计算x 的 y次方并打印结果
如:
请输入x : 100
请输入y : 200
打印如下:
100 + 200 = 300
100 * 200 = 20000
100 ** 200 = ...
语句 statement
语句是由一些表达式组成,通常一条语句可以独立执行来完成一部分事情并形成结果
一条语句建议写在一行内
多行语句写在一行内需要用分号(;) 分开
示例:
x = 100
y = 200
print(x + y)
# 写在一行为
x = 100; y = 200; print(x + y)
显示换行
折行符 \
折行符必须放在一行的末尾,来示意解释执行器的下一行也是本行的语句
示例见:
newline.py
隐式换行:
所有括号的内容换行,称为隐式换行
() [] {}
if 语句
问题:
有两条语句
print("是偶数")
print("是奇数")
如何只让其中一条语句执行并打印出结果?
作用:
让程序根据条件选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
语句块1
elif 真值表达式2:
语句块2
elif 真值表达式3
语句块3
...
else:
语句块4
说明:
elif子句可以有0个,1个或多个
else子句可以有0个或1个,且只能放在此if语句的最后
示例见:
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 语句的嵌套:
if 语句本身是由多条子句组成的一条复合语句
if 语句可以作为语句嵌套到另一个语句的内部
示例见:
if_embed.py
条件表达式
语法:
表达式1 if 真值表达式2 else 表达式2
作用:
根据真值表达式的取值(True/False) 来决定执行表达式1 或者 表达式2 并返回结果
示例见:
if_express.py
练习:
1. 写一个程序,输入一个数,用if语句计算这个数的绝对值并打印出来
2. 写一个程序,输入一个数,用条件表达式计算这个数的绝对值,并打印出来
pass 语句
作用:
通常用来填充语法空白
语法:
pass
示例见:
pass.py
布尔运算
运算符:
not and or
布尔非操作 not
语法:
not x
作用:
对 x 进行布尔取非,如 bool(x) 为True,则返回False,否则返回True
示例:
not True # 返回False
not False # 返回True
not 200 > 100 # 返回False
布尔与操作 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
布尔或操作 or
语法:
x or y
注:
x, y 代表表达式
作用:
优先返回真值对象
当x为True时,返回x, 否则返回y
示例:
True or True # True
True or False # True
False or True # True
False or False # False
score = int(input('请输入学生成绩:'))
if score < 0 or score > 100:
print("成绩不合法")
思考:
score = input("请输入学生成绩:") or '0'
score = int(score)
请问这是什么意思?
正负号运算符
+ (正号) - (负号)
一元运算符
语法:
+ 表达式
- 表达式
示例:
a = 5
b = -a
c = +a
小结:
运算符:
< <= > >= == !=
not and or
+ -
函数:
id
abs
round
pow
float
int
complex
bool
input
print
语句:
if 语句
pass 语句
表达式:
if_else 条件表达式
明天内容:
字符串 str
练习:
1. 北京出租车计价器
收费标准:
3公里以内收费 13 元
基本单价 2.3 元 / 公里(超出3公里以外)
空驶费: 超过15公里后,每公里加收单价的50%空驶费(3.45元/公里)
要求: 输入公里数,打印出费用金额(以元为单位进行四舍五入)
2. 输入一个学生的三科成绩(只要三个数,不要求科目)
1) 打印出最高分是多少?
2) 打印出最低分是多少?
3) 打印出平均分是多少?
3. 给出一个年份,判断是否为闰年并打印
每四年一闰,每百年不闰,四百年又闰:
如:
2016年 闰年
2100年 非闰年
2400年 闰年
4. 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的值,并打印体重状况