Python连载(0009): if...elif...else...

先来几个生活中常见的小场景:

场景一:要不要带伞

如果明天下雨,我就带伞;

如果明天不下雨,我就不带伞了。

场景二:考试成绩评级

如果考试分数是90~100分,那么评级是A;

如果考试分数是80~89分,那么评级是B;

如果考试分数是70~79分,那么评级是C;

如果考试分数是60~69分,那么评级是D;

如果考试分数是0~59分,那么评级是E

类似以上如果xxx, 那就xxxx;否则,就xxxx这种逻辑,在Python里对应的就是if...else...

例如:

# 示例1:天气问题
weather_rain = True	# 定义一个变量表示是否下雨,初始值为True

if weather_rain == True:
    print("下雨了,带伞!")	# 如果weather_rain是True,则执行该语句。
else:
    print("没下雨,不用带伞!")	# 如果weather_rain不是True,则执行该语句。
# 示例2:考试成绩问题
score = 90	# 定义一个变量表示考试分数,初始值为90

if score >= 90:
    print("成绩大于等于90,评级为A")
elif score >= 80:
    print("成绩大于等于80,评级为B")
elif score >= 70:
    print("成绩大于等于70,评级为C")
elif score >= 60:
    print("成绩大于等于60,评级为D")
else:
    print("成绩小于60,评级为E")

if...else...本身很好理解,但是有几个小地方需要注意:

  • 代码一次只会执行if...else...判定中的一个逻辑,即使是示例2:考试成绩问题这种多分支判定,那么每一次,代码只会执行某一条print()语句,而不会出现先执行print("成绩大于等于90,评级为A")再执行print("成绩大于等于80,评级为B")的情况。(也就是说,Python只要找到if...else...中其中一个满足的条件,执行该条件下面对应的代码之后,就不会在去执行该if...else...中其他判定条件下的语句)
  • 两个示例中,if/elif/else条件判定之后紧跟着的print()语句都是需要缩进的,Python就是根据缩进来判定当某个条件满足时需要执行哪些代码。Python官方建议缩进长度为4个字节。

实践:猜数字游戏

'''
程序需求:
程序自动生成一个0~10之内的随机数,然后让用户输入一个数。
比较用户输入的数字与随机数,如果二者相等,则输出“牛批!”;如果用户输入大于随机数,则输出“太大了...”;如果用户输入小于随机数,则输出“太小了...”。
'''

import random	# 用于生成随机数的模块

rand_num = random.randint(0, 10)	# 随机生成一个0~10之间的整数

# 让用户输入一个0~10之间的整数,input()会把用户输入存为字符串,因此需要int()将其转换为整数类型
in_num = int(input("请输入一个0~10之间的整数:"))	

if in_num == rand_num:
    print("牛批")		# 如果输入的数字和随机数相同,则执行该语句
elif in_num < rand_num:
    print("太小了...")	# 如果输入的数字小于随机数,则执行该语句
else:
    print("太大了...")	# # 如果输入的数字大于随机数,则执行该语句

注:上面的代码只是为了展示if/elif/else的使用方法,所以代码不完善,当用户输入非数字时程序会崩溃;同时,改程序也没有用户输入的数字是否在0~10之间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值