2、运算符+流程控制
一、运算符和流程控制
1、基本运算符
赋值运算:增量赋值———链式赋值————交叉赋值————解压赋值
增量赋值:x = x+1>>>x += 1, x= x * 1>>>x *= 1
链式赋值:把一个值给多个变量>>x=y=z=10
交叉赋值:x = 10 y = 30 >>> x,y=y,x>>>x = 30 y = 10
解压赋值:infos = [ 111,222,333,444]
a,b,c,d = infos>>>>print(a,b,c,d) = 111,222,333,444
若只想取前面两个:a,b,*_ = infos>>>print(a,b) = 111,222
逻辑运算符:not and or
not 将紧跟其后的那个条件取反
and 链接左右两个条件,只有都为True 结果才是True
or 连接左右两个条件,但凡有一个条件为True,最终结果就为True
优先级:not > and > or
短路运算:若全为 and 连接则有一个错,就不用看后面的 结果一定为 False
若有 or 连接 有一个 True 则不用看后面的,一定为True
布尔值有隐式和显式 了解即可
1、显式的布尔值:能明确地得到True或False,比如x=True,10 > 3, 10 > 3 and 1==1
2、隐式的布尔值:所有的数据类型的值都可以当作隐式的布尔值,其中0、None、空对应隐式布尔值为False,其余对应隐式布尔值为True
2、流程控制
什么是判断?就是 “如果今天下雨了,我就回去收拾衣服” 这就是一句判断
为何要判断? 为了让计算机像人一样根据条件判断不同结果
语法:
3、如何用:完整语法
print("start...")
if 条件1:
代码1
elif 条件3:
代码1
......
else:
代码1
print("end...")
if 语法有单分支 一个if 双分支 if 和 else 多分支 if elif 和 else
案例:
score = 83
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("普通")
else:
print("很差")
用户交互:
古时候,我们去银行取钱,需要有一个银行业务员等着我们把自己的账号密码输入给他,然后他去进行验证,成功后,我们再将取款金额输入/告诉他
骄傲的现代人,会为客户提供一台ATM机(就是一台计算机),让ATM机跟用户交互,从而取代人力。然而机器是死的,我们必须为其编写程序来运行,这就要求我们的编程语言中能够有一种能与用户交互,接收用户输入数据的机制
案例1:
print("start...")
inp_name = input("请输入您的用户名:") # inp_name = "egon"
inp_pwd = input("请输入您的密码:") # inp_pwd = "123"
db_name = "egon"
db_pwd = 456
if inp_name == db_name and inp_pwd == db_pwd:
print("用户登录成功")
else:
print("账号或密码输入错误")
案例2
score = 83
score = input("请输入您的成绩:") # score = "83"
score = int(score) # 将纯数字组成的字符串转成整型
if score >= 90: # "83" >= 90
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("普通")
else:
print("很差")
python2的raw_input() 等同于python3的input
2、格式化输出(格式不是平常所谓的格式化内存,而是一种格式,文件的格式,写作的格式这种)
print("1111",end='')
print("2222")
name = input("your name: ")
age = input("your age: ")
print("my name is %s my age is %s" % (name,age))
print("my name is %s my age is %d" % ("egon",19))
print("my name is %s my age is %d" % ("egon","19")) # %d 只能接收数字
print("my name is %s my age is %s" % ("egon",[1,2,3]))