文章目录
- 输入
- 使用int()来获取数值输入
- while循环
- 让用户选择何时退出
- 使用break退出循环
- 在循环中使用continue
- 使用while循环来处理列表和字典
- 在列表之间移动元素
- 删除包含特定值的所有列表元素
- 使用用户输入来填充字典
输入
函数input()的工作原理
message = input("请输入: ")
print(message)
使用int()来获取数值输入
height =input("请输入数字: ")
height = int(height)
if height>=36:
print('\n 我大于36')
else:
print('\n我小于36')
在比较前,height = int(height)将输入转换成了数值表示。
while循环
current_number = 1
while current_number<=5:
print(current_number)
current_number+=1
让用户选择何时退出
可使用while循环让程序在用户愿意时不断地运行
prompt="\nEnter'quit:"
message=""
while message != 'quit':
message=input(prompt)
print(message)
使用break退出循环
要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。break语句用于控制程序流程,可使用它来控制哪些代码行将执行,哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。
prompt="\nEnter'quit:"
active=True
while True:
city=input(prompt)
if city == 'quit':
break
else:
print(city.title())
注意 在任何Python循环中都可使用break语句。例如,可使用break语句来退出遍历列表或字典的for循环。
在循环中使用continue
要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环。例如,来看一个从1数到10,但只打印其中奇数的循环:
current_number = 0
while current_number<10:
current_number+=1
if current_number%2 == 0:
continue
print(current_number)
我们首先将current_number设置成了0,由于它小于10,Python进入while循环。进入循环后,我们以步长1的方式往上数(见❶),因此current_number为1。接下来,if语句检查current_number与2的求模运算结果。如果结果为0(意味着current_number可被2整除),就执行continue语句,让Python忽略余下的代码,并返回到循环的开头。如果当前的数字不能被2整除,就执行循环中余下的代码,Python将这个数字打印出来:
使用while循环来处理列表和字典
我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或作出应答;循环再次运行时,我们获悉另一个输入值并作出响应。然而,要记录大量的用户和信息,需要在while循环中使用列表和字典。
我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或作出应答;循环再次运行时,我们获悉另一个输入值并作出响应。然而,要记录大量的用户和信息,需要在while循环中使用列表和字典。
在列表之间移动元素
假设有一个列表,其中包含新注册但还未验证的网站用户;验证这些用户后,如何将他们移到另一个已验证用户列表中呢?一种办法是使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入到另一个已验证用户列表中。代码可能类似于下面这样:
unconfirmed_users =['alice','brian','candace']
confirmed_users =[]
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print('我的名字是: '+current_user.title())
confirmed_users.append(current_user)
print("\n confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
我们首先创建了一个未验证用户列表,其中包含用户Alice、Brian和Candace,还创建了一个空列表,用于存储已验证的用户。while循环将不断地运行,直到列表unconfirmed_users变成空的。在这个循环中,的函数pop()以每次一个的方式从列表unconfirmed_users末尾删除未验证的用户。由于Candace位于列表unconfirmed_users末尾,因此其名字将首先被删除、存储到变量current_user中并加入到列表confirmed_users中。接下来是Brian,然后是Alice。
删除包含特定值的所有列表元素
我们使用函数remove()来删除列表中的特定值,这之所以可行,是因为要删除的值在列表中只出现了一次。
pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
使用用户输入来填充字典
这个程序首先定义了一个空字典(responses),并设置了一个标志(polling_active),用于指出调查是否继续。只要polling_active为True,Python就运行while循环中的代码。在这个循环中,提示用户输入其用户名及其喜欢爬哪座山(见❶)。将这些信息存储在字典responses中(见❷),然后询问用户调查是否继续(见❸)。如果用户输入yes,程序将再次进入while循环;如果用户输入no,标志polling_active将被设置为False,而while循环将就此结束。最后一个代码块(见❹)显示调查结果。
结果: