资讯专栏INFORMATION COLUMN

Python学习之路4-if语句

JouyPub / 2541人阅读

摘要:本章主要讲述条件语句等结构。是一条包罗万象的语句,只要不满足前面的条件,其中的代码就会执行,这可能会引入无效甚至恶意的数据。使用语句处理列表语句常和循环结构配合使用。

《Python编程:从入门到实践》笔记。
本章主要讲述条件语句if, if-else, if-elif, if-elif-else等结构。
1. 条件测试

包括了“相等”,“不等”,“大于”,“小于”,“大于等于”,“小于等于”,“存在于”,“与或非”等判断。值得注意的是,Python对大小写敏感:

>>> car = "Audi"
>>> car == "audi"
False

>>> car.lower() == "audi"
True

>>> car != "audi"
True

>>> age = 19
>>> age < 21
True
>>> age <= 21
True
>>> age >= 21
False

>>> age_0 = 22
>>> age_1 = 18
>>> age_0 >= 21 and age_1 >= 21
False
>>> age_0 >= 21 or age_1 >= 21
True

>>> requested_toppings = ["mushrooms", "onions", "pineapple"]
>>> "mushrooms" in requested_toppings
True
>>> "mushrooms" not in requested_toppings
False
2. if 语句 2.1 简单的if语句
# 代码:
age = 19
if age >= 18:
    print("You are old enough to vote!")

# 结果:
You are old enough to vote!
2.2 if-else 语句
# 代码:
age = 17
if age >= 18:
    print("You are old enough to vote!")
    print("Have you registered to vote yet?")
else:
    print("Sorry, you are too young to vote.")
    print("Please register to vote as soon as you turn 18!")

# 结果:
Sorry, you are too young to vote.
Please register to vote as soon as you turn 18!
2.3 if-elif-else 结构
# 代码:
age = 12

if age < 4:
    price = 0
elif age < 18:
    price = 5
else:
    price = 10

print("Your admission cost is $" + str(price) + ".")

# 结果:
Your admission cost is $5.

还可以根据需要使用任意数量的elif代码块:

# 代码:
age = 12

if age < 4:
    price = 0
elif age < 18:
    price = 5
elif age < 65:
    price = 10
else:
    price = 5
    
print("Your admission cost is $" + str(price) + ".")

# 结果:
Your admission cost is $5.

其次,Python并不要求if-elif结构后面必须有else代码块。else是一条包罗万象的语句,只要不满足前面的条件,其中的代码就会执行,这可能会引入无效甚至恶意的数据。所以如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块,使代码更清晰,如下:

# 代码:
age = 12

if age < 4:
    price = 0
elif age < 18:
    price = 5
elif age < 65:
    price = 10
elif age >= 65:
    price = 5
    
print("Your admission cost is $" + str(price) + ".")

# 结果:
Your admission cost is $5.
2.4 测试多个条件

if-elif-else结构功能强大,但仅适用于只有一个条件满足的情况,即只要其中一个条件满足,其余条件都会被跳过,这保证了程序的高效性。然而有时必须检查你关心的所有条件,这时则应该使用一系列不包含elifelse代码块的简单if语句:

# 代码:
requested_toppings = ["mushrooms", "extra cheese"]

if "mushrooms" in requested_toppings:
    print("Adding mushrooms.")
if "pepperoni" in requested_toppings:
    print("Adding pepperoni.")
if "extra cheese" in requested_toppings:
    print("Adding extra cheese.")

print("
Finished making your pizza!")

# 结果:
Adding mushrooms.
Adding extra cheese.

Finished making your pizza!

总之:如果你只想执行一个代码块,就用if-elif-else结构;如果要运行多个代码块,就使用一系列独立的if语句。

3. 使用if语句处理列表

if语句常和循环结构配合使用。

3.1 检查特殊元素
# 代码:
requested_toppings = ["mushrooms", "extra cheese", "green peppers"]

for requested_topping in requested_toppings:
    if requested_topping == "green peppers":
        print("Sorry, we are out of green peppers right now.")
    else:
        print("Adding " + requested_topping + ".")

print("
Finished making your pizza!")

# 结果:
Adding mushrooms.
Adding extra cheese.
Sorry, we are out of green peppers right now.

Finished making your pizza!
3.2 确定列表不是空的

到目前为止,对于处理的每个列表都做了一个简单的假设,即它们非空,然而实际工程中,在遍历一个列表前需要先判断该列表是否为空:

# 代码:
requested_toppings = []

if requested_toppings:
    for requested_topping in requested_toppings:
        print("Adding " + requested_topping + ".")
    print("
Finished making your pizza!")
else:
    print("Are you sure you want a plain pizza?")

# 结果:
Are you sure you want a plain pizza?
迎大家关注我的微信公众号"代码港" & 个人网站 www.vpointer.net ~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41798.html

相关文章

  • Python学习之路9-文件和异常

    摘要:本章主要是学习的文件操作,主要是从文件中读取数据以及将数据存储到文件中,还有错误处理,异常类,模块等。函数返回一个文件对象,用于接收该对象。异常中使用被称为异常的特殊对象来管理程序执行期间发生的错误。 《Python编程:从入门到实践》笔记。本章主要是学习Python的文件操作,主要是从文件中读取数据以及将数据存储到文件中,还有错误处理,异常类,json模块等。 1. 从文件中读数据 ...

    chenatu 评论0 收藏0
  • Python学习之路6-用户输入和while循环

    摘要:本章主要介绍如何进行用户输入,循环,以及与循环配合使用的语句。函数在中,使用函数获取用户输入,这里请注意的返回值为字符串。值得提醒的是,编写循环时应避免死循环,或者叫做无限循环,比如循环忘记了变量自增。 《Python编程:从入门到实践》笔记。本章主要介绍如何进行用户输入,while循环,以及与循环配合使用的break, continue语句。 1. input() 函数 在Pytho...

    wfc_666 评论0 收藏0
  • Python学习之路2-列表介绍

    摘要:本章主要介绍列表的基础与简单操作。列表是什么列表由一系列按特定顺序排列的元素组成。中用中括号来表示列表,并用逗号分隔其中的元素。代码结果打印了该列表的内部表示访问与使用列表中的元素大多数编程语言中,索引都是从开始的,而不是从开始的。 《Python编程:从入门到实践》笔记。本章主要介绍列表的基础与简单操作。 1. 列表(List)是什么 列表由一系列按特定顺序排列的元素组成。类似于C/...

    赵连江 评论0 收藏0
  • Python学习之路10-测试代码

    摘要:也就是说,你可以将上述代码中的看做单元测试,而将看做测试用例。在测试类中的每一个测试方法都必须以开头,否则将不会被认定是一个单元测试。 《Python编程:从入门到实践》笔记。本章主要学习如何使用Python标准库中的unittest模块对代码进行简单的测试。 1. 前言 作为初学者,并非必须为你尝试的所有项目编写测试;但参与工作量较大的项目时,你应对自己编写的函数和类的重要行为进行测...

    huangjinnan 评论0 收藏0
  • Python学习之路10-测试代码

    摘要:也就是说,你可以将上述代码中的看做单元测试,而将看做测试用例。在测试类中的每一个测试方法都必须以开头,否则将不会被认定是一个单元测试。 《Python编程:从入门到实践》笔记。本章主要学习如何使用Python标准库中的unittest模块对代码进行简单的测试。 1. 前言 作为初学者,并非必须为你尝试的所有项目编写测试;但参与工作量较大的项目时,你应对自己编写的函数和类的重要行为进行测...

    Developer 评论0 收藏0

发表评论

0条评论

JouyPub

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<