Python 基础 -- 用户输入和 While 循环

  • 1. 函数 input() 的工作原理
  • 1.1 int() 函数
  • 1.2 求模运算符 %
  • 1.3 Python 2 中的输入
  • 2. while 循环
  • 2.1 使用 while 循环
  • 2.2 使用标志
  • 2.3 使用 break 退出循环
  • 2.4 使用 continue 返回循环开始
  • 3. 使用 while 循环来处理列表和字典
  • 3.1 在列表中移动元素
  • 3.2 删除包含特定值的列表元素
  • 3.3 使用用户输入来填充字典


  • 之前所有的程序都没有用户自己输入的部分,但是在录入信息时,需要用户自己输入;

1. 函数 input() 的工作原理

  • input() 函数接受一个标准输入数据,返回为 string 类型;
  • Python 将用户输入的文本,存储到一个变量中,方便之后的使用;
  • 使用语法:
input([prompt])
  • 参数介绍:
  • prompt:提示信息,向用户显示提示或说明;
  • []:代表可选;
  • 使用 input() 函数时,应指定清晰而易于明白的提示;
  • 当输入的提示信息过多时,可以分行写,务必要保证输入提示信息的清晰;

1.1 int() 函数

  • input() 函数,返回的为 string 类型;
  • 此时,可以使用 int() 函数,将之变为数值;

1.2 求模运算符 %

  • % 运算是将两个数相除并返回余数;
  • 示例:判断一个数是奇数还是偶数;

1.3 Python 2 中的输入

  • 在 Python 2 中,使用 input() 函数,Python 将之解读之后,并会尝试运行,会出现错误;
  • 在 Python 2 中,要获取用户输入,可以使用 raw_input() 函数;

2. while 循环

  • for 循环针对集合中的每个元素的一个代码块,while 循环不断执行,直到满足条件为止;

2.1 使用 while 循环

  • 一个简单的示例,使用 while 循环从 1 到 5;
  • 用户可以自定义的退出 while 循环:

2.2 使用标志

  • 标志是一个变量;
  • 是一个判断整个程序是否处于活跃状态的变量;

2.3 使用 break 退出循环

  • 使用 break 语句,可以随时退出 while 循环;
  • 在任何 Python 循环中都可以使用 break 语句;

2.4 使用 continue 返回循环开始

  • 使用 continue 语句,返回循环的开头;
  • 有的时候,因为参数设置失误,将会导致陷入无限循环,此时,可以按 Crtl + C 来关闭显示程序输出的终端窗口;

3. 使用 while 循环来处理列表和字典

3.1 在列表中移动元素

  • 假设已有一个列表,其中包含新注册但是没有验证的网站用户;
  • 验证这些用户后,使用 while 循环将他们移动到另一个已验证用户列表中;
  • 方法为:在验证用户的同时将其从未验证用户列表提取出来,再将其加入到另一个已经验证用户列表中;

3.2 删除包含特定值的列表元素

  • 使用 remove() 可以删除列表中特定的值;
  • 当列表中某一元素,重复出现时,可以使用 while 循环来删除这些重复的元素;

3.3 使用用户输入来填充字典

  • 使用 while 循环提示用户输入任意数量的信息,包括调查者的名字和回答;
  • 先定义一个空字典,并设置一个标志,用于调查循环是否继续;
  • 根据提示将信息录入字典中;
# 定义一个空字典,用来存储用户以及回答
responses = {}

# 设置一个标志,判定调查是否继续
active = True

while active:
	# 提示输入被调查者的名字和回答
	name = input("\nWhat is your name?")
	response = input("Which mountain would you like to climb someday?")
	
	# 将答卷存储在字典中
	responses[name] = response
	
	# 询问是否还有人要参与调查
	repeat_ask = input("would you like to let another person respond?(yes/no)")
	if repeat_ask == 'no':
		active = False

# 显示调查结果
print("\n----------- Poll Result ----------")
for name, response in responses.items():
	message = name + " would like to climb " + response + "."
	print(message)

结果:

python while循环输出1到10 python while循环输入_Python