前言
大多数程序都是需要和用户进行交互的,例如让用户输入账号和密码,才能验证用户能否正常登陆。通过获取用户输入,就可编写出交互式程序。同时可以通过编写while循环,让程序不断的运行。
一、函数input()
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在变量中,方便使用。input()函数接受一个参数,即向用户显示的说明或提示。
1.下面一个小例子展示了input()函数的基本用法。
2.为了编写更清晰的程序,我们可以将提示语句单独放在一个变量中,然后传给input()函数。如下图所示:
3.使用int()来获取数值输入,使用函数input()时,Python将用户输入解读为字符串,在输入数值时可能会出现错误。
解决办法是使用int()函数,将字符串表示转换成数值表示:
4.处理数值信息时,求模运算符是一个很有用的工具,它返回两个数相除后的余数。
二、while循环
while循环对于我们来说也不陌生,之前在JAVA语言的学习中都已经解除过。while循环能不断地运行,直到指定的条件不满足为止。
1.下面用一个简单的例子演示while循环的使用。用户不断输入想说的话,程序重复用户说的话,直到用户输入quit时程序退出。
2.下面改造一下上面那个例子,当用户输入quit时使用break退出循环。
3.使用continue我们可以跳过某些循环.例如如果我们要打印1-10的奇数,我们就要跳过这其中的偶数,代码如下:
三、使用while循环处理列表和字典
1.假如有一个列表,其中包含未验证的用户,我们可以使用while循环处理这些用户,并把这些用户移到新的列表中,这个列表就是已验证用户列表。上述代码和运行结果如下。
#未验证用户列表
unconfirm_users=['jim','tom','lucy']
#已验证用户列表
confirm_users=[]
while unconfirm_users:
current_user=unconfirm_users.pop()
print(current_user+'用户正在接受审核')
#把用户添加到已验证用户列表中
confirm_users.append(current_user)
print('\n这些用户已经接受审核:')
for user in confirm_users:
print(user)
2.使用用户输入来填充字典。可使用while循环提示用户输入任意数量的信息。下面来创建一个调查信息,统计每个人喜好的编程语言是什么,并保存在字典中,当最后一个人不想在有人接受调查时就退出循环,并打印已经调查了的信息,代码和运行结果如下图所示。
#使用用户输入来填充字典
language={}
while True:
name=input('输入你的名字:')
favor=input('你喜欢的编程语言是什么:')
flag=input('你还想有人接受这个调查吗,输入yes或者no:')
language[name]=favor
if(flag=='no'):
break;
print('\n下面这些是调查信息:')
for key,value in language.items():
print(key+'喜欢的编程语言是:'+value)
总结
在本章中,学习了如何在程序中使用input()来让用户提供信息以及如何使用while循环让程序按用户的要求不断运行。学完了本章我们就可以写出交互式的程序,使编程不在那么枯燥无味。