Python入门之用户输入和while循环
2019-07-17 本文已影响0人
我的袜子都是洞
input函数
函数input()
让程序暂停运行(阻塞),等待用户输入一些文本。获取用户输入后,Python将其储存在一个变量中,以方便使用。
message = input("Tell me something, and I will repeat it back to you.")
print(message)
函数input()
接受一个参数:即要项用户显示的提示或说明,让用户知道该如何做。
使用int()来获取数字输入
使用函数input()
时,Python将用户输入解读为字符串。
>>> age = input("How old are you?")
How old are you?21
>>> age
'21'
使用将age与数值进行比较时会引起错误。因为无法将字符串和整数进行比较。为解决这个问题可以使用函数int()
,它让Python将输入视为数值。函数int()
将数字的字符串转换为数值表示。
>>> age = input("How old are you?")
How old are you?21
>>> age = int(age)
>>> age > 18
False
while循环
for循环用户针对集合中的每个元素的一个代码块,而while循环不断的运行,直到指定的条件不满足为止。
使用while循环
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
使用break退出循环
要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。break语句用于控制程序流程,可使用它来控制哪些代码将执行,哪些代码不执行,从而让程序按照要求执行要执行的代码。
在循环中使用continue
要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环。
例如通过使用continue打印1~10中的奇数:
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
使用while循环来处理列表和字典
for循环是一种遍历列表的有效方式,但在for循环中不应该修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用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)
# 显示所有已验证用户
for confirmed_user in confirmed_users:
print("已验证用户:" + confirmed_user.title())
删除包含特定值的所有列表元素
删除所有cat
元素。
pets = ['dog', 'cat', 'dog', 'glodfish', 'cat', 'rabbit', 'cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)