实验环境:anaconda4.6.11
六、用户输入和while循环
1.函数input()
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,python将其存储在一个变量中。
message = input("告诉我一些信息,我会给你重复一遍:")
print(message)
使用函数input()时,python将用户输入解读为字符串,要想将输入作为数值使用,需要用到函数int()。
age = input("你今年多大?")
age = int(age)
print(age >= 18)
2.while循环简介
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
上面是一个简单的使用while循环的例子,当current_number小于等于5时,就执行循环里的操作:打印数字,并且令current_number自加1。一旦current_number大于5,就不执行循环。
下面我们编写一个例子,让用户选择何时退出。
prompt = "\n告诉我一些信息,我会给你重复一遍:"
prompt += "\n输入“退出”来结束这个程序。"
message = ""
while message != "退出":
message = input(prompt)
if message != "退出":
print(message)
下面使用break跳出循环。
prompt = "\n输入你曾经到过的城市:"
prompt += "\n输入“退出”来结束这个程序。"
while True:
city = input(prompt)
if city == "退出":
break
else:
print("我曾经到过" + city + "。")
使用continue会忽略循环当中的代码,直接返回到循环的开头,继续循环。在例子中我们要求只输出奇数,当数值可以整除2时,是偶数,我们就跳过输出语句,直接进行下一次循环。
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
3.使用while循环来处理列表和字典
1)在列表之间移动元素
假设有一个列表,其中包含新注册但还未验证的用户;验证这些用户后,将他们加入另一个已验证用户列表,可以使用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已下用户已被验证:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
2)使用用户输入来填充字典
responses = {}
polling_active = True
while polling_active:
name = input("\n你叫什么名字?")
response = input("你想爬哪座山")
responses[name] = response
repeat = input("你想让另一个人回复吗?(是/否)")
if repeat == "否":
polling_active = False
print("\n----调查结果----")
for name, response in responses.items():
print(name + "想爬" + response + "。")