挑战30天学完Python:Day9 条件语句

📘 Day 9

🎉 本系列为Python基础学习,原稿来源于 30-Days-Of-Python 英文项目,大奇主要是对其本地化翻译、逐条验证和补充,想通过30天完成正儿八经的系统化实践。此系列适合零基础同学,或仅了解Python一点知识,但又没有系统学习的使用者。总之如果你想提升自己的Python技能,欢迎加入《挑战30天学完Python》

👨‍💻 作者:大奇 MegaQi
✍️ 专注测试开发实战&车载方向干货分享,欢迎访问长期关注博客和公众号。

条件语句

默认情况下,Python脚本中的语句从上到下依次执行。如果有逻辑处理需要,可以通过以下两种方式改变执行的顺序:

  • 条件执行:如果某个表达式为真,则执行这个语句块;
  • 重复执行:只要某个表式一直为真,则会重复执行一个语句或块。

在这节中,我们将学习到 if/else/elif 语句。因此前几节掌握的比较运算符和逻辑运算符在这里就会变得很有用。

if

在python和其他程序语言中,关键词 if用于检查条件是否真,并依此结果决定是否执行代码块。记住冒号后换行代码要缩进。

# 语法形式
if condition:
    this part of code runs for truthy conditions

演示例子:

a = 3
if a > 0:
    print('A 是正数')
# A 是正数

if else

如果 if 条件是 true 那么第一个代码块将被执行,否则 else 条件将被运行。

# 语法形式
if condition:
    this part of code runs for truthy conditions
else:
     this part of code runs for false conditions

演示例子:

a = 3
if a < 0:
    print('A 是负数')
else:
    print('A 是正数')

上边的逻辑判断为假,因此else块被执行。但如果我们的田间超出两个呢?这时候就会用到 elif

if elif else

在日常生活中,我们每天都要做决定。其中一些结果我们不能通过一两个条件得出,而是通过检查多个条件。编程和生活一样,也是充满条件的。当我们有多个条件时,我们使用 elif

# 语法形式
if condition:
    code
elif condition:
    code
else:
    code

演示例子:

a = 0
if a > 0:
    print('A 是正数')
elif a < 0:
    print('A 是负数')
else:
    print('A 是零')

短条件语句

通常条件和语句块比较简单的时候,也可以使用短语句形式(类比其他语言中的三目运算符)。

# 语法形式
code1 if condition else code2

# 实际举例
a = 3
print('A is positive') if a > 0 else print('A is negative') 
# 上边短条件语句满足第一个条件,“A是正的”将被打印

嵌套条件语句

条件语句是可以多层嵌套的

# 语法形式
if condition:
    code
    if condition:
    code

# 具体举例
a = 0
if a > 0:
    if a % 2 == 0:
        print('A是一个正整数且是偶数')
    else:
        print('A是一个正整数)
elif a == 0:
    print('A是零')
else:
    print('A是负数')

但其实我们可以通过使用逻辑运算符,来避免过多的写嵌套条件代码。

if 条件 and 逻辑运算符

# 语法形式
if condition and condition:
    code

将上边嵌套代码改写举例:

a = 0
if a > 0 and a % 2 == 0:
        print('A是一个正整数且是偶数')
elif a > 0 and a % 2 !=  0:
     print('A是一个正整数')
elif a == 0:
    print('A是零')
else:
    print('A是负数')

if 条件 or 逻辑运算符

# 语法形式
if condition or condition:
    code

演示举例:

user = 'James'
access_level = 3
if user == 'admin' or access_level >= 4:
        print('权限通过!')
else:
    print('无权限!')

🌕 你做得很好。永远不要放弃,因为伟大的事情需要时间。你刚刚完成了第9天的挑战,你在通往伟大的道路上前进了9步。现在为你的大脑和肌肉做一些锻炼。

第9天练习

练习1级

  1. 使用input("输入你的年龄:")获取用户输入。如果用户年龄在18岁以上,请给出反馈为:你的年龄可以学开车了。如果得到的年龄在18或以下,请给出还差几岁可以开车。 输出如:

    输入你的年龄: 30
    你的年龄可以学开车了。
    
    输入你的年龄: 15
    你还需要 3 年才可以学开车。
    
  2. 使用 if...else 比较 my_ageyour_age。谁的年龄更大呢?同样使用input来获取你的年龄,其中我的年龄内置。你可以使用嵌嵌套条件打印 year 表示相差1岁,years表示相差更多,同时支持一个条件 my_age = your_age 即年龄相等。举例输出:

    # 假设我的年龄是25
    请输入你的年龄: 30
    你比我大 5 years。 
    
  3. 使用input获得两个数字。如果a比b大返回 a大于b,如果a比b小返回 a小于b,否则返回a与b相等。

    输入第一个数字: 4
    输入第二个数字: 3
    比较结果:4 大于 3
    

练习2级

  1. 写一个段逻辑代码,并根据分数范围给出他们对应的等级。

    80-100, A
    70-89, B
    60-69, C
    50-59, D
    0-49, F
    
  2. 检查季节是秋季、冬季、春季还是夏季。

  • 如果用户输入为:September, October或November,则季节为Autumn;
  • 如果输入是December、January或February,这个季节是Winter;
  • March,April或May,季节则是Spring;
  • June月,July或August,则季节是Summer。
  1. 以下列举了一些水果:
    fruits = ['banana', 'orange', 'mango']
    
    然后获得输入的一种水果,如果列表中不存在,则将该水果添加到列表中并打印。如果已经存在则提示:该水果已经存在于列表中。

练习3级

  1. 这里我们有一个人物字典。当然值你可以根据情况自己定义。
     person={
        'name': 'MegaQi',
        'is_marred': True,
        'skills': ['JavaScript', 'React', 'Node', 'MongoDB', 'Python'],
        'address': {
            'street': ' 上海静安寺北京西路',
            'zipcode': '200041'
        }
    }
    
    然后分别分别实现下边条件判断要求:
    • 检查人员字典是否有 skill 键,如果有打印出对应的列表值。
    • 检查人员字典是否有 skill 键,如果有进一步检查这个人是否拥有Python技能,并打印出结果。
    • 如果这个人技能树仅是JavaScript和React,则打印”他是个前端开发人员“。如果技能树有Node、Python和MongoDB,则打印“他是个后端工程师”,如果这个人会Recat、Node和MongoDB,请打印“他是个全栈开发人员”,否则打印“未知标题” - 为了结果更准确可以使用嵌套条件语句。

🎉 CONGRATULATIONS ! 🎉

<< 上一篇 Day 8 | 下一篇 Day10 >>

github 项目(含参考答案)地址:https://github.com/QiCodeCN/30-Days-Of-Python-zh_CN
如喜欢通过“点赞👍收藏❤️关注➕”鼓励作者大奇
文章中如有错误或疑问欢迎指正和交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mega Qi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值