当前位置:   article > 正文

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

python3 if elif

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

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

  1. award = 0
  2. day = input('请输入到岗天数').strip()
  3. if int(day) > 20:
  4. award += 500
  5. print('恭喜您获得全勤奖金')
  6. elif int(day) > 10:
  7. award += 200
  8. print('恭喜您获得半勤奖金')
  9. else:
  10. 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 也可以进行嵌套,如果我们将上面的代码完善一下,防止用户的错误输入(比如输入汉字或者字母),我们可以使用嵌套来实现。

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

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

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

  1. award = 0
  2. day = input('请输入到岗天数').strip()
  3. if day.isdigit():
  4. if int(day) > 20 and int(day) < 30:
  5. award += 500
  6. print('恭喜您获得全勤奖金')
  7. elif int(day) <= 20 and int(day) > 10:
  8. award += 200
  9. print('恭喜您获得半勤奖金')
  10. elif int(day) <= 10 and int(day)>= 0:
  11. award += 200
  12. print('下回能不能不迟到了?')
  13. else:
  14. print('兄弟,一个月只有30天...')
  15. else:
  16. print('输入错误')

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/54741
推荐阅读
相关标签
  

闽ICP备14008679号