第七章-- 用户输入 和 while 循环

7.1 函数 input() 的工作原理

  • 例子
要加双引号 或 单引号 把输入内容包括
message = input(" Tell me something, and I will repeat it back to you : ")
print(message)
  • 结果为
    在这里插入图片描述
    在这里插入图片描述

7.1.1 编写清晰的程序

prompt = "If you tell us who you are, we canpersonalize the messages you see."
prompt += "\nWhat is your name?\n "
name = input(prompt)
print("Hello, " + name +"!")
  • 结果为
    在这里插入图片描述

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

>>> age = input("How old are you?")
How old are you ?  21
>>> age = int(age)  从键盘键入的是字符串,需要用int()转为数字
>>> age >= 18
True
height = input("How tall are you, in inches?")
height = int(height)

if height >= 36:
	print("\nYou're tall enough to ride!")
else:
	print("\nYou'll be able to ride when you're a little older.")

  • 结果为
    在这里插入图片描述

7.1.3 求模运算符

>>> 4 % 3
1
>>> 9 % 3
0

7.1.4 在 python2.7 中获得输入

7.2 while 循环简介

7.2.1 使用 while 循环

current_number = 1
while current_number <= 5:
	print(current_number)
	current_number += 1
  • 结果为
    在这里插入图片描述

7.2.2 让用户选择何时退出

prompt = "\nTell me something,and I will repeat it back you : "
prompt += "\nEnter 'quit' to end the program "
message = ''   这里一定要给message一个值,
			空值也可以,防止出错,提供下面while				
			循环 第一次的条件判断
while message != 'quit':
	message = input(prompt)
	print(message)
	if message == 'quit':
		print("\nquit success!")

  • 结果为
    在这里插入图片描述

7.2.3 使用标志

  • 相当于使用布尔表达式
prompt = "\nTell me something,and I will repeat it back you : "
prompt += "\nEnter 'quit' to end the program "

active = True  布尔表达式 
while active :
	message = input(prompt)
	
	if message == 'quit' :
		print("quit success")
		active = False
	else :
		print(message)

  • 结果为
    在这里插入图片描述

7.2.4 使用 break 退出循环

prompt = "\nTell me something,and I will repeat it back you : "
prompt += "\nEnter 'quit' to end the program "

while True :
	city = input(prompt)
	
	if city == 'quit' :
		print("\nyour city is " + city)
		break
	else :
		print("\nI'd love to go to " + city.title()+"!")

  • 结果为
    在这里插入图片描述

7.2.5 在循环中使用 continue

current_number = 0
while current_number < 10:
	current_number += 1
	if (current_number %2 == 0):
		continue
	print(current_number)
  • 结果为
    在这里插入图片描述

7.2.6 避免无限循环

  • 一定要有条件途径来终止 while 循环
  • 除了必须要维持程序运转的while 模块外

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

  • for 循环是一种遍历列表的有效方式,但在 for 循环中不应修改列表,否在将导致python 难以跟踪其中的元素
  • 要在遍历列表的同时对其修改,可使用 while 循环

7.3.1 在列表之间移动元素

首先 创建一个待验证用户列表
和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice','brain','candace']
confirmed_users = []

验证每个用户, 直到没有未验证用户为止
将每个经过验证的列表都移到已验证用户列表中
while unconfirmed_users:
	current_user = unconfirmed_users.pop()
	print("Verifying user: " + current_user.title())
	confirmed_users.append(current_user)

显示所有已验证的用户
print("\nThe following users have been confirmed: ")
for confirmed_user in confirmed_users:
	print(confirmed_user.title())
print(confirmed_users)
  • 结果为
    在这里插入图片描述

7.3.2 删除包含特定值的所有列表元素

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

while 'cat' in pets:
	pets.remove('cat')
print(pets)
  • 结果为
    在这里插入图片描述

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

responses = {}

设置一个标志,指出调查是否继续
polling_active = True

while polling_active :
	提示输入被调查者的名字和回答
	name = input("\n What is your name? ")
	response = input("\nWhich mountain would you like to climb someday? ")
	
	将答卷存储在字典中
	response[name] = response

	看看是否还有人要参与调查
	repeat = input("\n Would you like to let another person respond?(yes/no) ")
	if repeat == 'no':
		polling_active = False
	
调查结束,显示结果
print("\n-- Poll Results --- ")
for name,response in responses.items():
	print(name + " would like to climb " + response + ".")
  • 结果为
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值