Python基础——用户输入和while循环
一、函数input()的工作原理
函数inpu()让程序暂停运行,等待用户输入一些文本。
message = input("Tell me something,and I will repeat it back to you: ")
print(message)
结果:
用户看到提示Tell me something,and I will repeat it back to you:。程序等待用户输入时,并在用户按回车键后继续运行。
注意:
如果在Python2.7中输入,应使用函数raw_input()来提示用户输入。
1、 编写清晰的程序(起到说明的作用)
每当你使用input()函数时,都应指定清晰而易于明白的提示,准确地指出你希望用户提供什么样的信息——任何指出用户输入何种信息的提示都行,通过在提示末尾包含一个空格,可将提示与用户输入分开,让用户清楚地知道其输入始于何处。
有时候提示可能超出一行,可将提示存储在一个变量中,再将该变量传递给函数input()。
name = input("Please enter your name: ")
print("Hello," + name + "!")
结果:
2、使用int()来获取数值输入
使用函数input()时,Python将用户输入解读为字符串。
而函数int()将数字的字符串表示转换为数值表示。
3、求模运算符(求余数)%
二、while循环简介
1、使用while循环
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
结果:
2、让用户选择何时退出
我们定义一条提示信息,告诉用户他有两个选择:要么输入一条消息,要么输入退出值。
prompt = "\nTell me something,and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
message = ""
while message !='quit':
message = input(prompt)
print(message)
结果:
3、使用标志
在要求很多条件都满足才继续运行的程序中,可以定义一个变量,用于判断整个程序是否处于活动状态。这个变量称为标志,充当了程序的交通信号灯。你可以让程序在标志为True时继续运行,并在任何事件导致标志的值为false时让程序停止运行。这样while语句中就只需检查一个条件——标志的当前值为True,并将所有测试都放在其他地方,从而让程序变得更整洁。
prompt = "\nTell me something,and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
#标志
active = True
while active:
message = input(prompt)
if message == 'quit':
active = False
else:
print(message)
结果:
在复杂的程序中,如很多事情都会导致程序停止运行的游戏中,标志很有用:在其中的任何地方一个事件导致活动标志变成false时,主游戏循环将退出,此时可显示一条游戏结束消息,并让用户选择是否需要重新玩。
4、使用break退出循环(结束所有循环)
要立即退出while循环,不再运行余下的代码,也不管条件测试的结果如何,可使用break语句。
在任何Python循环中都可使用break语句。例如,可使用break语句来退出遍历列表或字典的for循环。
5、在循环中使用continue(退出当层循环)
6、避免无限循环
如果程序陷入无限循环,可按Ctrl+C,也可关闭显示程序输出的终端窗口。
三、使用while循环来处理列表和字典
for循环是一种遍历列表的有效方式,但在for循环中不应该修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时进行修改,可使用while循环。
通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
1、列表之间移动元素pop()方法
pop()方法每次一个方式从列表末尾删除。
#首先,创建一个待验证用户列表
#和一个用于存储已验证用户的空列表
unconfirmed_uers = ['alice','brain','candace']
confirmed_users = []
#验证每个用户,直到没有未验证用户为止
#将每个经过验证的列表都移到已验证用户列表中
while unconfirmed_uers:
current_uer = unconfirmed_uers.pop()
print("Verifying user: " + current_uer.title())
confirmed_users.append(current_uer)
#显示所有已验证的用户
print("\nThe following users have been confirmed: ")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
结果:
2、删除包含特定值的所有元素remove()方法
我们使用remove方法删除列表中的特定值。
pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
结果:
3、使用用户输入来填充字典
可使用while循环提示用户输入任意数量的信息。
上一篇: 定时任务调度
下一篇: Vert.x 基于事件和异步的解决方案
推荐阅读
-
python 使用while循环来处理列表和字典
-
(P8-P9)了不起的分支和循环:Python可以有效避免“悬挂else” ,断言(assert),while循环,break,continue
-
python列表生成式、键盘输入、字符串翻转、字母大小写、数组广播、循环语句等基础问题
-
python入门基础之用户输入与模块初认识
-
python 循环while和for in简单实例
-
python 循环while和for in简单实例
-
Python中for循环和while循环的基本使用方法
-
Python基础语法之while循环
-
Python中for循环和while循环的基本使用方法
-
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解