python3教程(十一):if/elif/else

在python中,我们可以使用if对条件进行判断。

比如我们需要一个功能,如果一个人这个月超过20天不迟到则他的工资加上五百块钱的奖金,如果超过10天不迟到则有两百块奖金,不迟到不足十天(含十天)则没有奖金。

award = 0
day = input('请输入到岗天数').strip()
if int(day) > 20:
	award += 500
	print('恭喜您获得全勤奖金')
elif int(day) > 10:
	award += 200
	print('恭喜您获得半勤奖金')
else:
	print('抱歉,您因为经常迟到,所以没有奖金')

如果需要if、elif执行条件,则需要if、elif后面的条件成立。

f判断是从上往下,如果一个判断语句中有if、elif,则先执行if,如果if条件成立,则在执行if下的内容后结束,不再执行elif,如果将上面的代码中的if 条件(int(day) > 20)和elif条件(int(day) > 10)互换 ,当你输入22的时候,它会提示你获得了半勤奖金而非全勤。

如果if不成立则会往下走到elif,如果elif成立则执行elif并结束,如果不成立则继续往下直到遇到成立的语句(比如else),如果没有遇到成立的语句则会报错并结束。

一个完整的if语句包括一个if,一个或多个elif和一个else,else是在接受的东西不符合if 和elif 后进行的操作,else 不需要判断条件。

if 也可以进行嵌套,如果我们将上面的代码完善一下,防止用户的错误输入(比如输入汉字或者字母),我们可以使用嵌套来实现。

award = 0
day = input('请输入到岗天数').strip()
if day.isdigit():
	if int(day) > 20:
		award += 500
		print('恭喜您获得全勤奖金')
	elif int(day) > 10:
		award += 200
		print('恭喜您获得半勤奖金')
	else:
		print('抱歉,您因为经常迟到,所以没有奖金')
else:
	print('输入错误')

上面改善的代码最外面的if 条件(if day.isdigit():)中没有比较运算符,因为if 只需要条件为True即可执行,.isdigit()是判断day是否是数字。

一个if 语句中只能有一个if ,但可以有多个elif:

award = 0
day = input('请输入到岗天数').strip()

if day.isdigit():
	if int(day) > 20 and int(day) < 30:
		award += 500
		print('恭喜您获得全勤奖金')

	elif int(day) <= 20 and int(day) > 10:
		award += 200
		print('恭喜您获得半勤奖金')

	elif int(day) <= 10 and int(day)>= 0:
		award += 200
		print('下回能不能不迟到了?')

	else:
		print('兄弟,一个月只有30天...')
else:
	print('输入错误')

 

  • 37
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值