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)
上一篇下一篇

猜你喜欢

热点阅读