七、四则运算
运算符 | 表示 | 例子 |
---|---|---|
+ | 加 | 2+1 |
- | 减 | 1-2 |
* | 乘 | 1*2 |
/ | 除 | 1/2 |
% | 取模--返回除法的余数 | 5%2 |
// | 取整除--返回商家的整数的部分 | 5//2 |
** | 幂--返回x的y次幂 | 2**3 |
运算优先级:从左到右,括号优先,乘除>加减
print(2+1)
print(1-2)
print(1*2)
print(1/2)
print(5%2)
print(5//2)
print(2**3)
3
-1
2
0.5
1
2
8
八、数据转换
- str() :将其他数据类型转换成字符串
- int() :将其他数据类型转换成整数
只有完全符合整数规范的字符串数据,才能被int()强制转换。中文、火星文、标点符号都不可以
文字类和小数类的字符串无法转换成整数
- float() :将其他数据类型转换成浮点数
print(int("6.8")) #运行后会出现报错(ValueError: invalid literal for int() with base 10: '6.8'),是因为"6.8"是字符串,浮点类型的字符串无法使用int()函数强制转换
ValueError Traceback (most recent call last)
<ipython-input-7-e75690326052> in <module>
----> 1 print(int("6.8")) #运行后会出现报错(ValueError: invalid literal for int() with base 10: '6.8'),是因为"6.8"是字符串,浮点类型的字符串无法使用int()函数强制转换
ValueError: invalid literal for int() with base 10: '6.8'
print(int(8.9)) #与平时四舍五入不同,int()函数会直接抹零,直接输出整数部分
print(float(7)) #floata()函数可以将整数和字符串转化为浮点数
print(float("6")) #字符串必须要数字才可以
print(str(1314.1314))
8
7.0
6.0
1314.1314
小案例:
打印(脸黑怪我喽7张蓝票一个SSR都没有)
a="脸黑怪我喽"
b=7.8
c="张"
d="蓝票一个SSR都没有"
print(a+str(int(b))+c+d) #b由于是浮点数,而print()里面要字符串,要先把浮点数转换成整数再转换成字符串
九、条件判断
i. 单向判断:if... (如果...就...)
# 赋值
grade=6
# 条件:如果分数大于等于6
if grade>=6:
# 结果:显示‘成功通关’的结果
print('成功通关')
成功通关
注意:在条件判断代码中的冒号后、下一行内容前面,有空格
空格学名叫做:缩进
在python中,冒号和缩进是一种语法,可以帮助python区分代码块之间的层次,理解条件执行的逻辑及先后顺序
注意:缩进是四个空格或一个tab键
ii. 双向判断:if...else... (如果...不满足,就...)
# 先为体重赋值101斤
weight=101
# 如果体重超过100斤的条件下,就……(条件后需加冒号)
if weight>100:
# 就打印结果:不吃了!(注意检查是否自动缩进)
print('不吃了')
# 如果体重没有超过100斤的条件,就……(else条件前无缩进,条件后需加冒号)
else:
# 就打印:放心吃吧(注意检查是否自动缩进)
print('放心吃吧')
不吃了
iii. 多向判断:if...elif...else...
在判断3个或者3个以上的条件时,要用到多向判断
- 如果if条件不满足,就按顺序看是否满足elif的条件,如果不满足elif条件,就执行else条件
- 中间可以使用多个elif
# 为宝石数量赋值
stonenumber=5
# 条件:如果你拥有的宝石数量大于等于6个
if stonenumber>=6:
# 结果:显示‘就拥有了毁灭宇宙的力量’的结果
print('你拥有了毁灭宇宙的力量')
# 条件:如果想让宝石数量停留在5个以下,至少一个
elif 0<stonenumber<=5:
# 结果:显示‘绯红女巫需要亲手毁掉幻视额头上的心灵宝石’的结果
print('绯红女巫需要亲手毁掉幻视额头上的心灵宝石')
# 条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量为0个
else:
# 结果:显示‘需要惊奇队长逆转未来’的结果
print('需要惊奇队长逆转未来')
绯红女巫需要亲手毁掉幻视额头上的心灵宝石
iv. if嵌套
如果底下还有如果的情况下,需要用到嵌套条件(条件里还嵌套条件)
if嵌套:在基础条件满足的条件下,再在基础条件底下增加额外的条件判断
- if嵌套的执行顺序:赋值、if、else、print
缩进相同的命令是处于同一个等级
扒洋葱式写法:
- 写基础条件代码
- 写基础条件1的额外条件
- 写基础条件2的额外条件
小案例:
考试成绩评价规则:
如果成绩大于等于60分,就是及格,在此前提下:
(1)如果成绩大于等于80分,属于优秀范围;
(2)否则(即大于等于60分而小于80分),属于一般范围。如果成绩小于60分,就是不及格,在此前提下:
(1)如果成绩小于30分,平时太不认真,属于学渣了;
(2)如果成绩(小于60分而大于等于30分),那么,至少还能抢救一下。
historyscore=26
if historyscore>=60:
print('你已经及格')
if historyscore>=80:
print('你很优秀')
else:
print('你只是一般般')
else:
print('不及格')
if historyscore<30:
print('学渣')
else:
print('还能抢救一下')
print('程序结束')
不及格
学渣
程序结束
十、input()函数
①input()函数的使用
- input()函数是输出函数,当你在函数的括号内写出问题时,input()函数会将此问题显示在屏幕上
②input()函数结果的赋值
name=input("请输入你的名字")
print(name+",中山大学欢迎你的到来")
请输入你的名字xxx
xxx,中山大学欢迎你的到来
- input()函数的使用场景
- 函数结果赋值 :name=input()
- 搜集信息 :name=input(xxx)
- 输出结果 :print(name)
③input()函数的数据类型
name=input("请输入你的选择:")
▲:对于input()函数来说,不论我们输入的回答是什么,都会转换成字符串类型
④input()函数结果的强制转换
什么时候会用到???
- 当我们想要的答案是数字(比如年龄、金钱、时间)
choice = int(input('请输入您的选择:')) #将输入值强制转换成整数,并赋值给变量name
if choice == 1:
print("中山大学欢迎您的到来")
else:
print("您可是被god选中的孩子,我们不接受这个选项噢~")
请输入您的选择:1
中山大学欢迎您的到来
如果不进行转换的话,在 if choice == "1"中就必须要是字符串才行
choice = input('请输入您的选择:')
if choice == "1":
print("中山大学欢迎您的到来")
else:
print("您可是被god选中的孩子,我们不接受这个选项噢~")
请输入您的选择:1
中山大学欢迎您的到来
小案例:
小精灵:您好,欢迎来到古灵阁,请问您需要帮助吗?需要or不需要?
你:需要
小精灵:请问您需要什么帮助呢?1 存取款;2 货币兑换;3 咨询
你:2
小精灵:金加隆和人民币的兑换率为1:51.3,即一金加隆=51.3人民币 小精灵:请问您需要兑换多少金加隆呢?
(你说了一个数字N)
小精灵:好的,我知道了,您需要兑换(你说的数字N)金加隆。
小精灵:那么,您需要付给我(你说的数字N*51.3)人民币。
注1:如果选择不需要帮助,小精灵会礼貌地说'好的,再见。'
注2: 如果选择帮助【1 存取款】,小精灵会推荐你去存取款窗口;如果选择帮助【3 咨询】,小精灵会推荐你去咨询窗口
示例代码:
choice=input("您好,欢迎来到古灵阁,请问你需要帮助吗?需要or不需要")
if choice == "需要":
count=input("请问您需要什么帮助呢?1 存取款;2 货币兑换;3 咨询")
if count == "1":
print("去存取款窗口")
elif count == "2":
print("金加隆和人民币的兑换率为1:51.3,即一金加隆=51.3人民币")
N=input("请问您需要兑换多少金加隆呢?")
print("好的,我知道了,您需要兑换"+N+"金加隆。")
print("那么,您需要付给我"+str(float(N)*51.3)+"人民币。")
else:
print("咨询窗口")
else:
print("好的,再见。")