复习
if 条件判断:
x = eval(input('请输入年龄:'))
if x > 60:
print('老毕等')
else:
print('再做做牛马如何?')
elif 多重条件判断:
age = eval(input('请输入年龄:'))
if 0 <= age <= 17:
print('你是青少年。')
elif 17 < age <= 35:
print('你是低龄青年。')
elif 35 < age <= 59:
print('你是中龄青年。')
elif 59 < age <= 99:
print('你是高龄青年。')
elif 99 < age or age < 0:
print('属实妖怪。')
* 在判断超过预测的输入结果时,在表达式中使用了逻辑运算符 or。
另外,因为elif 的表达式本身与上一循环语句(if 中或者elif 中) 的表达式内容互斥,所以只需要写新的集合就好。但是为了提高可读性,个人还是习惯于写得连贯些。
if 嵌套:
seat = eval(input('这会儿还有几个座位?:'))
change = eval(input('你兜里还剩几块钱?:'))
if change >= 2:
if seat >=1:
print('坐,请坐,请上座')
else:
print('没座了,站着')
else:
print('穷光蛋,没钱坐什么公交,滚犊子!')
加强:写个用户登录体验:
name = 'aaa'
password = '123456'
code = 'qwer'
input_name = input('用户名:')
input_password = input('密码:')
input_code = input('验证码:')
while input_code == code:
if input_name != name:
print('不存在此用户!')
input_name = input('用户名:')
input_password = input('密码:')
input_code = input('验证码:')
if input_password != password:
print('密码错误!')
input_password = input('密码:')
input_code = input('验证码:')
else:
print('欢迎回来')
break
else:
print('验证码错误。')
continue 的应用:猜数字
import random
x = eval(input('猜猜我心里在想哪个数字?(1-100)'))
num = random.randint(1, 100)
while x != num:
if x < num:
print('小了,重来!')
x = eval(input('没猜中不许走!(1-100):'))
continue
if x > num:
print('大了,重来!')
x = eval(input('没猜中不许走!(1-100):'))
continue
else:
print('这都给你猜到了,属实牛逼。')
稍微改进了一下,可以增加限制次数。因为我突然意识到在这里while 的条件表达式好像不是那么重要(只要为True 让他执行,剩下情况的用break打断就好。。),所以改进为:
import random
x = eval(input('猜猜我心里在想哪个数字?(1-100)'))
i = 6
num = random.randint(1, 100)
while True:
if i == 0:
print('老娘腻了,不陪你玩了,去死!')
break
elif x < num:
print('小了,重来!')
x = eval(input(f'没猜中不许走!(你还有{i}次机会!):'))
i -= 1
continue
elif x > num:
print('大了,重来!')
x = eval(input(f'没猜中不许走!(你还有{i}次机会!):'))
i -= 1
continue
else:
print('这都给你猜到了,属实牛逼。')
break