Python趣味入门4:选择往往是最重要的-条件语句
人生处处有选择,程序也有选择,为了让程序变得更加强壮,程序员必须考虑任何情况,上一篇了解到了如何使用Python来行顺序语句的编写,我们写了一个可以输入姓名的生日祝贺程序,今天我们挑战条件语句!
1、条件语句
现实总是可悲的,人生的很多选择都是无法重现的,比如你选择了Python看到了这篇教程(恭喜你,做了无比正确的决定!)你永远无法知道,如果你之前选择了Java现在看的是什么教程。
但是程序必须考虑到选择的所有情况,因为程序是不断地被运行的,天知道有什么条件会触发特定动作。传说,俄罗斯的核按钮随身跟着总统,也许里面的触发条件语句永远不会运行,但总要有人去写它。
条件语句的写法如下,条件成立和不成立都是子语句因此必须缩进:
if 判断表达式:
条件成立
else:
条件不成立
小牛叔在疫情期间每天上班,都需要扫描二维码填写健康申报,会询问你14天内有没有去过湖北,如果有就会提示你有风险,如果没有就提示无风险。这个程序怎么写呢?
if input('您在14内去过湖北吗?')=='是': print('您有风险!') else: print('暂无风险!')
大家在写代码时,要注意如下的几个问题:
- 小写:所有的语句大小写敏感,大部分语句都是小写,除非规定大写。
- 缩进: 子语句必须要缩进,否则程序会出错。
- 可省略else:可以省略else以及子语句表示不满足条件时,直接向下运行。
- 等号:判断相等必须使用两个等号
- 冒号:if和else后面都要跟冒号,表示下行的语句是子语句,缩进会有变化。
2、逻辑判断
if语句后紧跟着就是逻辑判断,如下把两个数字或变量连接在一起的就是逻辑判断:
- == 相等
- >大于
- <小于
- >= 大于等于
- <= 小于等于
- != 不等于
- is 是不是类型 (is None 是不是为空)
- in 被包含其中 ('a' in 'abc'的值是真)
以上逻辑判断表达式的结果只有两个:True或是False (注意首字线必须大写)。
此外,如下的这些表达式结果都是False:
"" #空字符串
'' #空字符串
[ ] #空列表
( ) #空元组
{ } #空字典
None #空值
3、逻辑运算
多个条件的组合可以使用: not, and, or。如果要求10岁以上的学生在疫情期间开学,其判断程序要求:14天未出城并且年龄>=10。 就可以这么写条件:
假设年龄变量为age,14天内出城为变量traveled
age>=10 and not traveled
4、多条件
很多情况下,判断只有两个结果的情况并不能方便表达多个层次的情况,比如在疫情报警程序中,人可能有3种状态:绿色(没出过城)、黄色(出过城)、红色(去过湖北)。多条件的语句必须加上elif:
if 判断表达式1:
条件1成立
elif 判断表达2:
条件2成立
elif 判断表达3:
条件3成立
.....
elif 判断表达N:
条件N成立
else:
所有条件不成立
假设出城目的地变量为from,14天内是否出城为变量traveled,出过城为黄色,去过湖北为红色,没有出城为绿色:
if not traveled: print('绿色') elif from=='湖北': print('红色') else: print('橙色')
5、小示例
假设我们要做一个翻译程序,把中文的“一、二...九”翻译成数字,可以使用多条件语句这样:
number = input("输入中文一至九:") output = '' if number == "一": output = '1' elif number == "二": output='2' elif number == "三": output='3' elif number == "四": output='4' elif number == "五": output='5' elif number == "六": output='6' elif number == "七": output='7' elif number == "八": output='8' elif number == "九": output='9' else: output='输入错误' print(output)
下面是程序运行的示例视频: