python的语句结束标志,(17)python控制语句

2.控制语句

2.1if 语句

if 语句的核心值为True 或False 的布尔表达式,这种表达式被称为条件测试 。如果条件测试的值为True ,就执行紧跟在if 语句后面的代码;如果为False ,Python就忽略这些代码。

添加测试种类包括

检查两个字符串相等和不等。

检查两个数字相等、不等、大于、小于、大于等于和小于等于。

使用关键字and 和or 的测试。

测试特定的值是否包含在列表中。

测试特定的值是否未包含在列表中。

if语句三种形式

if结构

if else结构

if-elif-else 结构

示例:

values = 'Python'

if len(values) =='6':

print('Right')  #需要缩进

elif values == 'python' or values in ('PYTHON','Python'):

print("Error") #需要缩进

else:

print("unknown")

if语句判断列表是否为空,格式:if 列表名,示例

requested_toppings = []

if requested_toppings:  #列表为空,所以布尔值为False,执行后面的else语句

for requested_topping in requested_toppings:

print("Adding " + requested_topping + ".")

print("\nFinished making your pizza!")

else:

print("Are you sure you want a plain pizza?")

2.2while 循环

2.2.1while 循环简介

while循环不断地运行,直到指定的条件不满足为止,即布尔值为False。for循环用于针对集合中的每个元素循环运行。while循环示例:

current_number = 1

while current_number <= 5:  #小于等于5时为True,否则为False不满足循环条件,退出循环

print(current_number)

current_number += 1 #代码current_number = current_number + 1的简写

2.2.2让用户选择何时退出

实例:定义了一个退出值,只要用户输入的不是这个值,程序就接着运行并打印用户输入的内容。

prompt = "\nTell me something, and I will repeat it back to you:"

prompt += "\nEnter 'quit' to end the program. "

message = ""

while message != 'quit':

message = input(prompt)

print(message)

实例详解:

定义了一条提示消息,告诉用户有两个选择:要么输入一条消息,要么输入退出值(这里为'quit' );

接下来创建了一个变量message,用于存储用户输入的值。我们将变量message 的初始值设置为空字符串"" ,让首次执行while 代码行时有可供检查的东西。首次执行while 语句时,需要将message 的值与'quit' 进行比较,但此时用户还没有输入。如果没有可供比较的东西,Python将无法继续运行程序。为解决这个问题,我们必须给变量message 指定一个初始值,虽然这个初始值只是一个空字符串,但符合要求,能够执行while 循环所需的比较。只要message 的值不是'quit' ,这个循环就会不断运行;

首次遇到这个循环时,message 是一个空字符串,因此Python进入这个循环;

执行到代码行message = input(prompt) 时,Python显示提示消息,并等待用户输入。不管用户输入是什么,都将存储到变量message 中并打印出来;

接下来,Python重新检查while 语句中的条件。只要用户输入的不是单词'quit' ,Python就会再次显示提示消息并等待用户输入。等到用户终于输入'quit' 后,Python停止执行while 循环,而整个程序也到此结束。

2.2.3使用标志

程序在满足指定条件时就执行特定的任务,直到某个事件导致指定条件不满足。但在复杂的程序中,很多不同的事件都会导致程序停止运行,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志,充当了程序的交通信号灯。标志为True 时继续运行,并在任何事件导致标志的值为False 时让程序停止运行。这样,在while 语句中就只需检查一个条件——标志的当前值是否为True ,并将所有测试(是

否发生了应将标志设置为False 的事件)都放在其他地方,从而让程序变得更为整洁。

示例:

prompt = "\nTell me something, and I will repeat it back to you:"

prompt += "\nEnter 'quit' or 'exit' to end the program. "

active = True

while active:

message = input(prompt)

if message in ('quit','exit') :

active = False

else:

print(message)

2.2.4使用break 退出循环

要立即退出while 循环,也包括for循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break 语句。示例:

prompt = "\nPlease enter the name of a city you have visited:"

prompt += "\n(Enter 'quit' when you are finished.) "

while True:

city = input(prompt)

if city == 'quit':

break

else:

print("I'd love to go to " + city.title() + "!")

2.2.5在循环中使用continue

continue 语句不再执行循环中后面的代码,返回到循环开头继续循环。break 语句不再执行余下的代码并退出整个循环,即不再执行循环。示例:来看一个从1数到10,但只打印其中奇数。

2.2.6避免无限循环

每个while 循环都必须有停止运行的途径,这样才不会没完没了地执行下去。(特殊应用中需要无限循环)。

x = 1

while x <= 5:

print(x)

x += 1  #注意:遗漏该代码则会变为无限循环

2.2.7使用while 循环来处理列表和字典

for循环是一种遍历列表的有效方式,但在for 循环中修改列表,将会导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while 循环。通过while 循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。

2.2.7.1在列表之间移动元素

实例:设定一个列表包含新注册但还未验证的网站用户;验证户后将他们移到另一个已验证用户列表中。

unconfirmed_users = ['alice', 'brian', 'candace']

confirmed_users = []

while unconfirmed_users:

current_user = unconfirmed_users.pop()

print("Verifying user: " + current_user.title())

confirmed_users.append(current_user)

print("\nThe following users have been confirmed:")

for confirmed_user in confirmed_users:

print(confirmed_user.title())

示例详细说明:

首先创建了一个未验证用户列表,其中包含用户Alice、Brian和Candace

创建一个空列表,将来用于存储已验证的用户。

while 循环将不断地运行(用while unconfirmed_users判断),直到列表unconfirmed_users 变成空的;

循环中函数pop() 以每次一个的方式从列表unconfirmed_users 末尾删除未验证的用户。由于Candace位于列表unconfirmed_users 末尾,因此其名字将首先被删除并存储到变量current_user 中并加入到列表confirmed_users 中。接下来是Brian,然后是Alice。

为模拟用户验证过程,我们打印一条验证消息并将用户加入到已验证用户列表中。未验证用户列表越来越短,而已验证用户列表越来越长。未验证用户列表为空后结束循环,再打印已验证用户列表。

2.2.7.2删除包含特定值的所有列表元素

使用函数remove() 来删除列表中的特定值,当特定值重复出现时,则只会删除第一次出现的值,可使用循环删除全部特定值。实例:假设你有一个宠物列表,删除多个值为'cat' 的元素。

pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']

print(pets)

while 'cat' in pets:

pets.remove('cat')

print(pets)

2.2.7.3使用用户输入来填充字典

实例:创建一个调查程序,其中的循环每次执行时都提示输入被调查者的名字和回答。我们将收集的数据存储在一个字典中,以便将回答同被调查者关联起来。

responses = {}

# 设置一个标志,指出调查是否继续

polling_active = True

while polling_active:

# 提示输入被调查者的名字和回答

name = input("\nWhat is your name? ")

response = input("Which mountain would you like to climb someday? ")

# 将答卷存储在字典中

responses[name] = response

# 看看是否还有人要参与调查

repeat = input("Would you like to let another person respond? (yes/ no) ")

if repeat == 'no':

polling_active = False

# 调查结束,显示结果

print("\n--- Poll Results ---")

for name, response in responses.items():

print(name + " would like to climb " + response + ".")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值