python 用户输入和while循环

用户输入

函数input()的工作原理

函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,python将其存储在一个变量中,以方便你使用。

message=input("please input")
print(message)

使用函数input()时,都应指定清晰而易于明白的提示,有时候提示可能超过一行,在这种情况下,可将提示存储在一个变量中,再将变量传递给函数input()

message=“if you tell us who you are , we can personalize the message you see"
message+="\nWhat is you first name?"
name=input(message)
print("\nHello, "+name+"!")

这个示例演示了一种创建多行字符串的方式。第一行将消息存储在变量message中;
在第二行,运算符+=在存储在message中的字符串末尾附加一个字符串。

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

使用函数input()时,python将用户输入解读为字符串。
输入数字也能成功打印输出,但是要是做其他数值比较就会报错。
为了解决这个可以使用函数int(),它让python将输入视为数值。函数int()将数字的字符串表示转换为数值表示。

>>>age=input("How old are you?")
How old are you? 26
>>>age=int(age)
>>>age>=18
True
求模运算符

处理数值信息时,求模运算符(%)是一个很有用的工具,它将两个数相除并返回余数。

>>>4%3
1
>>>5%3
2

求模运算符不会指出一个数是另一个数的多少倍,而只指出余数是多少。
如果一个数被另一个数整出,余数就为0,求模运算符将返回0,可利用这个来判断一个数是奇数还是偶数。

while循环

for循环是对每个列表中的元素都执行相同的操作,
而while循环是不断地运行,直到指定的条件不满足为止。

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

使用break退出循环

要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。
break语句用于控制程序流程

message="please enter the name fo a city"
message+="(enter 'quit' when you are finished)"
while True:
	city=input(message)
		if city == 'quit':
			break
		else:
			print("I love " + city)

注意:在python任何循环中都可以使用break语句。例如,可使用break语句来退出遍历列表或字典的for循环。

在循环中使用continue

要返回到循环开头,忽略余下的代码,并根据条件测试结果决定是否继续执行循环,可使用continue语句。
例如:打印1到10的奇数

number=0
while number<10
	number+=1
	if number % 2 ==0:
		continue      #满足number%2==0,则继续返回上面开始循环,不满足则输出下面的print语句。
	print(number)

避免无限循环

要避免写出无限循环,务必对每个while循环进行测试,确保它按预期那样结束。如果你希望程序在用户输入特定值时结束,可运行程序并输入那样的值;如果在这种情况下程序没有结束,请检查程序处理这个值的方式,确认程序至少有一个这样的地方能让循环条件为false或让break语句得以执行。

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

在列表之间移动元素
Unauth_users=['liming','xiaobai']           #未认证用户
auth_users=[]                               #已认证用户
while Unauth_users:
	user=Unauth_users.pop()
	auth_users.append(user)
print("auth_users:")
for auth_user in auth_users:
	print(auth_user.title()
删除包含特定值的所有列表元素

使用函数remove()删除列表中的特定值,只能删除第一个指定的值,如果一个值出现了多次,可使用while循环来删除。

pets=['dogs','cat','dogs','cat']
while 'cat' in pets:
	pets.remove('cat')
print(pets)
使用用户输入来填充字典
wenda={}
active=True #设置一个标志位,指出问答是否继续
while active:
	names=input("what is your name?")
	ages=input("How old are you?")
	wenda[names]=ages       #将问答存储在字典
	message=input("who wants to quiz?(yes or no)")
	if message =='no':
		actuve=False
for name,age in wenda.items():
	print(name+age)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值