小牛叔讲Python第4章:条件语句-有时选择比努力更重要

上一章:小牛叔讲Python第3章:基本概念VSIO(变量、字符、输入输出)

下一篇:小牛叔讲Python第5章:while循环-符合条件就带你一直

人生处处有选择,程序也有选择,为了让程序变得更加强壮,程序员必须考虑任何情况,上一篇了解到了如何使用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)

下面是程序运行的示例视频:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小牛叔208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值