概述
1.函数input()的工作原理
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,python将其赋值给一个变量,以便用户进行使用。
message=input("Tell me something: ")
print(message)
函数input()接受一个参数——要向用户显示的提示或说明,让用户知道该如何做。用户通过input()输入的文本默认为字符串。如上段代码中,python会提示用户Tell me something,然后等待用户输入,并在用户输入并按回车键后继续运行,将输入的信息赋值给变量message。上面还有一个小细节,在冒号后留一个空格,可以将输入与input()中的提示信息隔开。
1.1编写清晰的程序
每当用户打算使用input()函数时,都应该指定清晰的提示。并且当提示超过一行时,可以将提示赋值给一个变量,再将变量传递给函数input()。
prompt="If you tell me who you are, I will happy"
prompt+="nWhat's your name?"
message=input(prompt)
print(f"Hello,{message}!")
1.2使用int()来获取数值输入
使用函数input()时,python会将用户输入解读为字符串。但如果我们试图将输入与数值进行比较时,这样做就会出错。这时,我们要用到函数int(),将其转化为数值。
height=input("How tall are you, in inches?")
height=int(height)
if height>=48:
print("nYou are tall enough to ride!")
else:
print("nYou are not tall enough to ride!")
1.3求模运算符
处理数值运算时,求模运算符(%)是一个很有用的工具,它将两个值相除并返回余数。如果两个数取余,结果为0,则代表两个数能整除。可以利用这一特性判断一个数是奇数还是偶数。
2.while循环简介
for循环用于针对集合中每个元素都执行一个代码块,而while循环则不断运行,直到指定条件不满足位置。
2.1使用while循环
可以使用while循环来数数。
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
2.2让用户选择何时退出
可以使用while循环让程序在用户愿意时不断运行,如下段代码所示。我们在其中定义了一个退出值,只要用户不输入退出值,程序就将持续运行。
prompt = "nTell me something,I will repeat it to you:"
prompt += "nEnter 'quit' to end the program!"
message=""
while message != 'quit':
message=input(prompt)
if message != 'quit':
print(message)
上段代码中,虽然message的初始值为空,但它符合让while循环进行的条件。
2.3使用标志
在复杂的程序中,可能会有多个事件导致程序结束,并不像前面的例子中只有一个判断条件。所以,我们要定义一个变量,用于判断程序是否处于活动状态。这个变量被称为标志,充当程序的交通信号灯。可以让标志为True时,让程序继续执行,标志为False时,让程序停止运行。这样while只需要判断一个条件,即标志当前的值即可。
prompt = "nTell me something,I will repeat it to you:"
prompt += "nEnter 'quit' to end the program!"
active = True
while active:
message = input(prompt)
if message != 'quit':
print(message)
else:
active = False
2.4使用break退出循环
要立即退出while循环,不管余下的代码,也不管条件测试的结果如何,可以使用break语句。break语句可用于控制程序执行的流程,让程序按照你的想法来运行。
prompt = "nTell me something,I will repeat it to you:"
prompt += "nEnter 'quit' to end the program!"
while True:
message = input(prompt)
if message == 'quit':
break
else:
print(message)
其中,while True可以让程序不断运行,直到遇到break语句为止。注意,break语句可以任何python循环中使用,例如for循环中就可以。
2.5在循环中使用continue
要返回循环的开头,并根据循环执行的结果选择是否要执行循环,可以使用contunue语句。它不像break语句那样,直接跳出循环,不再执行下面的代码,而是返回循环的开头。
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
2.6避免无限循环
每个while循环都必须有它停止循环的途径,否则它就会一直运行,变成一个死循环。
3.使用while循环处理列表和字典
要在遍历列表的同时对其进行修改,可以使用while循环。通过将while循环与列表和字典结合起来使用,可收集、存储并组织大量的输入。
3.1在列表之间移动元素
假设有一个列表包含新注册未验证的网站用户,验证完用户信息后,如何将他们移动到另一个已验证用户的列表中呢,可以使用while循环。下段代码中,使用方法pop()以每次一个的方式将unconfirmed_uesrs中末尾的元素不断弹出。
unconfirmed_uesrs = ['alice', 'brain', 'candace']
confirmed_users = []
#while循环不断运行,直到unconfirmed_uesrs列表为空
while unconfirmed_uesrs:
currend_user = unconfirmed_uesrs.pop()
print(f"Verifying user: {currend_user.title()}")
confirmed_users.append(currend_user)
for confirmed_user in confirmed_users:
print(confirmed_user.title())
3.2删除为特定值的所有列表元素
我们之前使用函数remove()来删除列表中的特定值,但当时列表中的特定值只出现一次,如果列表中有多个特定值要删除,我们就要用到while()循环,不断删除列表中的特定值,直到列表中无特定值为止。
pets = ['dag', 'cat', 'fish', 'cat', 'rabbit', 'cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
3.3使用用户输入来填充字典
可以使用while循环提示用户输入的信息,如果用户输入的信息是有关联的,我们就需要用到字典来存储用户的输入。
responses = {}
polling_active = True
while polling_active:
name = input("nwhat's your name?")
response = input("nDo you like to climb mountains")
responses[name] = response
repeat = input("nWould you like let another people response?")
if repeat == 'no':
polling_active = False
for name,response in responses.items():
print(f"{name} like to climb?({response})")
上段代码,首先设置了一个空字典用以存储用户的输入,然后设置了一个标志用于指出调查是否继续,只要标志为Ture,while循环就会一直持续下去。
最后
以上就是虚心御姐为你收集整理的Python编程:用户输入和while循环的全部内容,希望文章能够帮你解决Python编程:用户输入和while循环所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复