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循环提示用户输入任意数量的信息。

发布了66 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Yansky58685/article/details/103239682
今日推荐