欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python基础——用户输入和while循环

程序员文章站 2022-06-25 15:30:31
...

一、函数input()的工作原理

函数inpu()让程序暂停运行,等待用户输入一些文本。

message = input("Tell me something,and I will repeat it back to you: ")
print(message)

结果:

Python基础——用户输入和while循环

用户看到提示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 + "!")

结果:

Python基础——用户输入和while循环

2、使用int()来获取数值输入

 使用函数input()时,Python将用户输入解读为字符串。

Python基础——用户输入和while循环

而函数int()将数字的字符串表示转换为数值表示。

 Python基础——用户输入和while循环

3、求模运算符(求余数)% 

Python基础——用户输入和while循环

 二、while循环简介

1、使用while循环

current_number = 1
while current_number <= 5:
	print(current_number)
	current_number += 1

结果:

Python基础——用户输入和while循环 

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)

结果:

Python基础——用户输入和while循环

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)

结果:

Python基础——用户输入和while循环

在复杂的程序中,如很多事情都会导致程序停止运行的游戏中,标志很有用:在其中的任何地方一个事件导致活动标志变成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())

结果:

Python基础——用户输入和while循环

2、删除包含特定值的所有元素remove()方法

我们使用remove方法删除列表中的特定值。

pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']
print(pets)

while 'cat' in pets:
	pets.remove('cat')

print(pets)

结果:

Python基础——用户输入和while循环

3、使用用户输入来填充字典

可使用while循环提示用户输入任意数量的信息。