day01回顾:
变量:
创建变量(赋值语句)
变量 = 表达式
修改变量
变量 = 表达式
删除变量
del 变量名
python 起源
应用领域
优点:
缺点:
执行速度慢
不能封闭源代码
www.python.org
版本 python v2 / v3
解释执行器 python3 (CPython)
CPython/Jython/IronPython
运行:
1. python3 文件名.py
2. python3 <回车>
>>>
数据类型:
数字: 整数int, 浮点型数float, 复数complex, 布尔型数(True/False)
字符串str: "文字内容"
列表list
...
None 空值对象
运算符:
+ - * / // % **
is / is not
print() 函数
id(x) 返回对象的内存地址
变量占用内存吗? 1byte(字节) = 8bit位
复合赋值算术运算符:
+ - * / ...
+= -= *= /= //= %= **=
day02笔记
比较运算符:
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
上述比较运算符的优先级一致,按照执行顺序从左到右依次执行
语法:
左表达式 < 右表达式
说明:
比较运算符返回布尔类型的值
例:
100 < 200 # 返回True
100 >= 200 # 返回False
比较运算符的数据表示:
0 <= 30 < 100 #
数据对象的构造(创建)函数
float(obj) 用字符串或数字转换为浮点数,如果不给出参数,则返回0.0
int(x,base=10) #这里表示的是“数值”,进制数(最高识别36进制)
int(x=0) 用数字或字符串转换为整数,如果不给出参数,则返回0
complex(r=0.0, i=0.0) #用数字创建一个复数(实部为r,虚部为i)
bool(x) #用x创建一个布尔值(True/False)
函数调用语法规则
函数名(传参列表)
说明: 函数调用是表达式,一定会返回一个对象的引用关系(或者返回None)
bool(x) 返回假值的情况:
None 空值
False 布尔假值
0 0.0 0j 所有的数字0
---- 以下内容后面会讲------
'' 空字符串
() 空元组
[] 空列表
{} 空字典
...
注意:
>>> bool(' ')
True
>>> bool('')
False
练习:
将数字3.14 用变量pi绑定
将pi变量转为整数 用变量i绑定
将 pi 变量与 i 变量相减,结果用变量 f 绑定
1. 判断 f 是否等于 0.14
2. 删除所有的变量
(用交互模式来做)
#答案
>>> pi=3.14
>>> i=int(pi)
>>> i
3
>>> f=pi-i
>>> f #浮点数中的精度无法进行精确,精度有损失
0.14000000000000012
>>> f==0.14
False
>>> del pi
>>> del i
>>> del f
注意:python中整数的计算无误差,当然内存要能够承受的整数长度
预置(内建)的数值型函数
abs(x) 取x的绝对值,只对实数取绝对值,对于复数不起作用
round(number[,ndigits]) 对数值进行"四舍五入", ndigits是小数向右取整的位数,负数表示向左取整
>>> round(1234.5)
1234
注意:在python中是以二进制进行存储,在进行二进制存储的时候,采用round函数,并不是真正意义上的四舍五入,在一定程度上有部分精度损失
pow(x, y[, z=None]) 相当于 x**y 或 x**y%z
help() 查看函数绑助
>>> help(函数名)
语句 statement
语句是python执行的最小单位
语句由一些表达式组成,通常一条语句可以独立执行来完成一部分事情并形成结果
(一条语句建议写在一行内)
多条语句写在一行内需要用分号(;) 分开
示例:
print("hello")
x = 100 + 200
# 写在一起为:
print("hello"); x = 100 + 200
语句的显示换行
示例见:
statement_newline.py
折行符 \ (读作:反斜杠)
折行符必须放在一行的末尾,来示意解释执行器,下一行也是本行的语句
换行显示可以使用()来进行隐式换行
# statement_newline.py
# 此示例示意语句的显示折行
x = 1 + (2 * 3) + (3 + 4 + 5 + 6 + 7)\
+ 3.14 + 500
y=(1 + (2 * 3) + (3 + 4 + 5 + 6 + 7)
+ 3.14 + 500)
print(x)
print(y)
535.14
535.14
语句的隐式换行
所有的括号的内容换行称为隐式换行
括号: () [] {}
基本输入输出函数
基本输入函数 input
作用:
从标准输入设备上(默认为键盘)读取一个字符串
(末尾的换行字符会被删除)
格式:
input('提示字符串')
说明:
返回输入的字符串(仅python3)
'提示字符串'可以省略不写
# input.py
name=input("请输入您的姓名:")
print("您刚才输入的姓名是:",name)
基本输出函数print
作用:
将一系列的值以字符串形式输出到标准输出设备上(默认是终端)
格式:
print(value,..., sep=' ', end='\n', file=sys.stdout, flush=False)
关键字参数:
sep 两个值之间的分隔符,默认为一个空格' ',使用单引号或是双引号都可以
end 输出完毕后在字符流末尾自动追加一个字符串,默认为换行符'\n',记住换行符是\n
---- 以下两个参数后面会讲-----
file: 文件流对象,默认为(sys.stdout)
flush: 是否立即进行输出
print("aaa","\n\n\n\n")#打印之后空4行
练习:
1. 输入两个整数,分别用变量x, y来绑定
1) 计算这两个数的和,并打印结果
2) 计算这两个数的积,并打印结果
3) 计算 x 的 y 次并打印结果
2. 分三次输入当前的小时,分钟,秒数
在终端打印出距离 0:0:0过了多少秒?
if 语句
问题:
有两条语句:
print("是偶数")
print("是奇数")
如何只让其中的一条语句执行,另一条不执行
x=input("输入一个整数:")
x=int(x)
if(x%2==0):
print(x,"是一个偶数")
else:
print(x,"是一个奇数")
作用:
让程序根据条件选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
语句块1
elif 真值表达式2:
语句块2
elif 真值表达式3:
语句块3
....
else:
语句块4
说明:
elif 子句可以有0个,1个或多个
else 子句可以有0个或1个,且只能放在此if语句的最后
示例见:
if.py
练习:
任意输入一个数
1) 判断这个数是否大于100
2) 判断这个数是否小于0
3) 判断这个数是否在 50 ~ 150 之间
答案:
x=input("输入一个整数:")
x=int(x)
if(x>100):
print(x,"大于100")
else:
print(x,"不大于100")
if(x<0):
print(x,"小于0")
else:
print(x,"不小于0")
if(50<=x<=150):
print(x,"在 50 ~ 150 之间")
else:
print(x,"不在 50 ~ 150 之间")
if-elif-else示例见:
if_elif_else.py
练习:
1. 输入一个季度(1 ~ 4), 输出这个季度有哪儿几个月,如果输入不是1~4的数,则提示用户您输错了
2. 输入一年中的月份(1~12), 输出这个月在哪儿个季度.如果输入的是其它的数,则提示您输错了
答案:
#习题1
x=input("请输入一个季度:")
x=int(x)
if x==1:
print("1月,2月,3月")
elif x==2:
print("4月,5月,6月")
elif x==3:
print("7月,8月,9月")
elif x==4:
print("10月,11月,12月")
else:
print("您输错了")
#习题2
x=input("请输入一个月份:")
x=int(x)
if 1<=x<=3:
print("春季")
elif 4<=x<=6:
print("夏季")
elif 7<=x<=9:
print("秋季")
elif 10<=x<=12:
print("冬季")
else:
print("您输错了")
if语句的真值表达式:
if 100:
print("是真值")
等同于:
if bool(100):
pritn("是真值")
if 语句的嵌套
if 语句本身是由多条语句组成的一条复合语句,if语句可以作为语句嵌套到另一个语句的内部
示例见:
if_embed.py
练习:
1. 写一个程序,输入一个数,用if语句计算这个数的绝对值,并打印出来
(要求: 不允许用abs(x) 函数)
答案:
x=input("请输入一个数:")
x=float(x)
if x>=0:
print(x)
else:
print(-x)
条件表达式:
语法:
表达式1 if 真值表达式 else 表达式2
作用:
根据真值表达式的取值(True/False) 来决定执行表达式1或表达式2并返回结果
示例见:
if_express.py
# if_express.py
# 此示例示意条件表达式的语法和用法
# 商场促销 满 100 减 20
money = int(input("请输入商品总金额: "))
pay = money-20 if money >= 100 else money
print("您需要支付: ", pay, '元')
练习:
写程序,输入一个数,用条件表达式计算这个数的绝对值并打印出来
答案:
x=float(input("请输入一个数:"))
print(x) if x>=0 else print(-x)
pass 语句
作用:
通常用来填充语法空白
pass 又名空语句
语法:
pass
示例见:
pass.py
# pass.py
# 让用户输入一个学生成绩(0~100)之间,判断是否为有效成绩
x = int(input("请输入成绩:"))
if 0 <= x <= 100:
pass
else:
print("输入成绩不合法")
if not (0 <= x <= 100):
print("输入成绩不合法")
布尔运算:
运算符:
not and or
布尔非操作 not
语法:
not x
作用:
对x进行布尔取非,如bool(x) 为True,则返回False,否则返回True
示例:
not True # False
not False # True
not 0 # True
not 100 # False
布尔与操作 and
语法:
x and y
注: x, 代表表达式
作用:
优先返回假值对象,当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为True时返回x,否则返回y
示例:
True or True # True
True or False # True
False or True # True
False or False # False
正负号运算
+(正号) -(负号)
一元运算符(只有一个元素参加运算)
示例:
a = 5
b = -a # b = -5
c = +a # c = 5
# 练习:
# 1. 北京出租车计价器
# 收费标准:
# 3公里以内收费 13 元
# 基本单价 2.3元/公里(超出3公里以外)
# 空驶费: 超过15公里后,每公里加收单价的%50空驶费(即3.45元/公里)
# 要求:
# 输入公里数,打印出费用金额(以元为单位四舍五入)
#习题1
x=float(input("请输入行驶公里数:"))
if x<=3:
print(13)
elif x<=15:
print(13+(x-3)*2.3)
else:
print(13+(x-3)*2.3+(x-15)*2.3*0.5)
# 2. 输入一个学生的三科成绩:
# 打印出最高分是多少?
# 打印出最低分是多少?
# 打印出平均分是多少?
#最高分
x=float(input("请输入成绩1:"))
y=float(input("请输入成绩2:"))
z=float(input("请输入成绩3:"))
if x>=y:
if x>=z:
print("最高分",x)
else:
print("最高分",z)
else:
if y>=z:
print("最高分",y)
else:
print("最高分",z)
#最低分
if x<=y:
if x<=z:
print("最低分",x)
else:
print("最低分",z)
else:
if y<=z:
print("最低分",y)
else:
print("最低分",z)
#平均分
m1=(x+y+z)/3
print("平均分",m1)
# 3. 给出一个年份,判断是否为闰年并打印结果
# 规则: 每四年一闰,每百年不闰,四百年又闰
# 2016 闰年
# 2100 不是闰年
# 2400 是闰年
# #闰年的判断条件:1、能被4整除,但不能被100整除 2、可以被400整除
x=int(input("请输入年份:"))
if (x%4==0 and x%100!=0) or (x%400==0):
print(x,"是闰年")
else:
print(x,"不是闰年")
# 4. BMI(Body Mass Index) 指数,又称身体质量指数
# BMI公式: BMI = 体重(公斤) / 身高的平方(米)
# 标准表:
# BMI < 18.5 体重过轻
# 18.5 <= BMI < 24 正常范围
# BMI >= 24 体重过重(超标)
# 输入身高和体重,打印BMI值,并打印体重状况
height=float(input("请输入身高(m):"))
weight=float(input("请输入体重(kg):"))
BMI=weight/pow(height,2)
if BMI<18.5:
print("体重过轻")
elif 18.5 <= BMI < 24:
print("正常范围")
else:
print("体重过重(超标)")