Python编程从入门到实践(五、用户输入和while循环)

发布于:2022-08-07 ⋅ 阅读:(524) ⋅ 点赞:(0)

活动地址:CSDN21天学习挑战赛

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.

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到