写点什么

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

作者:MegaQi
  • 2023-04-18
    上海
  • 本文字数:2524 字

    阅读完需:约 8 分钟

📘 Day 9

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

作者:大奇 MegaQi | Info 签约作者 ,专注测试开发技术实战干货分享,欢迎访问主页长期关注。

条件语句

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


  • 条件执行:如果某个表达式为真,则执行这个语句块;

  • 重复执行:只要某个表式一直为真,则会重复执行一个语句或块。


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

if

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


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


演示例子:


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

if else

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


# 语法形式if condition:    this part of code runs for truthy conditionselse:     this part of code runs for false conditions
复制代码


演示例子:


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


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

if elif else

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


# 语法形式if condition:    codeelif condition:    codeelse:    code
复制代码


演示例子:


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

短条件语句

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


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

嵌套条件语句

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


# 语法形式if condition:    code    if condition:    code
# 具体举例a = 0if 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 = 0if 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 = 3if user == 'admin' or access_level >= 4:        print('权限通过!')else:    print('无权限!')
复制代码


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

第 9 天练习

练习 1 级

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


    输入你的年龄: 30    你的年龄可以学开车了。
输入你的年龄: 15 你还需要 3 年才可以学开车。
复制代码


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


    # 假设我的年龄是25    请输入你的年龄: 30    你比我大 5 years。 
复制代码


  1. 使用 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
复制代码


  1. 检查季节是秋季、冬季、春季还是夏季。


  • 如果用户输入为: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 ! 🎉


github 项目(含参考答案)地址:https://github.com/QiCodeCN/30-Days-Of-Python-zh_CN

如喜欢通过“点赞👍收藏❤️关注➕”鼓励作者大奇

文章中如有错误或疑问欢迎指正和交流。

发布于: 刚刚阅读数: 4
用户头像

MegaQi

关注

InfoQ签约作者 |公众号: 非典型性程序员 2018-02-15 加入

分享一些系列测试平台开发教程,也记录一些自己研究的技术,遇到的问题,总之想分享一些干货内容,愿给这个行业贡献微不足道的力量,不断突破不断成长。

评论

发布
暂无评论
挑战 30 天学完 Python:Day9 条件语句_Python_MegaQi_InfoQ写作社区