活动地址:CSDN21天学习挑战赛
用户输入和while循环
1.函数input()的工作原理
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,python将其赋给一个变量,以方便你使用。
word=input("what do you want to say?")
print(f"i will repeat it {word}")
1.2获取数值输入
使用函数input()时,python将用户输入解读为字符串。如下面错误:
这就是因为返回的是字符,不能跟数值进行比较。这里提供一个解决办法:即将字符转换成数值形式即可。使用eval()方法:
number=eval(input("输入一个数字"))
if number>0:
print("666")
2.while循环简介
for循环用于针对集合中的每个元素都执行一个代码块,而while循环则不断运行,直到指定的条件不满足为止。
2.1使用while循环
可使用while循环来数数。例如,从1到10:
a=1
while a<=10:
print(a)
a+=1
2.2让用户选择何时退出
可以使用while循环让程序在用户愿意时不断运行,如:
a=1
while a!=0:
print("还有呢?")
a=eval(input())
这里一直输入1一直处于循环中,直到输入一个0.
2.3使用break退出循环
要立刻退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。
while True:
city = input()
if city == 'quit':
break
else:
print(f"i love my city:{city}")
2.4在循环中使用continue
要返回循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环。如只打印一个列表中的奇数:
a=0
while a<10:
a+=1
if a%2==0:
continue
print(a)
3.使用while循环处理列表和字典
到目前为止,我们每次都只处理一项用户信息:获取用户的输入,再将打印出来或做出应答;循环再次运行时,获悉另一个输入值并作出响应。然而,要记录大量的用户和信息,需要再while循环中使用列表和字典。
for循环是一种遍历列表的有效方式,但不应在for循环中修改列表,否则将导致python难以跟踪其中的元素。
3.1在列表之间移动元素
假设有一个列表包含新注册但还未验证的网站用户。验证用户后,如何将他们移到另一个已验证用户列表中呢?
解决办法:使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入另一个已验证用户列表中:
a=['张三','李四','王二麻子'] #未验证用户
b=[] #已验证用户列表
while a:
c=a.pop()
print(f"用户{c},已验证")
b.append(c)
print(b)
3.2删除为特定值的所有列表元素
在第一篇,我们说了可以使用remove()来删除列表中的特定值。
a=[1,1,1,1,1,1,2,2,3,21,212,1,1,8]
while 1 in a:
a.remove(1)
print(a)
这就可以结合while循环配合remove()来删除列表中所有的数字1.