python的输入和while循环

本文详细讲解了如何在Python中使用while循环进行数值输入验证、用户交互、列表操作、字典填充等,包括break和continue语句的应用。通过实例演示如何处理列表和字典,以及删除元素和验证用户输入,适合初学者理解循环在实际项目中的运用。
摘要由CSDN通过智能技术生成

输入

函数input()的工作原理

message = input("请输入: ")
print(message)

在这里插入图片描述

使用int()来获取数值输入
height  =input("请输入数字: ")

height = int(height)
if height>=36:
    print('\n 我大于36')
else:
    print('\n我小于36')

在比较前,height = int(height)将输入转换成了数值表示。
在这里插入图片描述

while循环

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

在这里插入图片描述

让用户选择何时退出

可使用while循环让程序在用户愿意时不断地运行

prompt="\nEnter'quit:"
message=""
while message != 'quit':
    message=input(prompt)
    print(message)

在这里插入图片描述

使用break退出循环

要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。break语句用于控制程序流程,可使用它来控制哪些代码行将执行,哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。

prompt="\nEnter'quit:"
active=True
while True:
    city=input(prompt)
    if city == 'quit':
        break
    else:
        print(city.title())

在这里插入图片描述
注意 在任何Python循环中都可使用break语句。例如,可使用break语句来退出遍历列表或字典的for循环。

在循环中使用continue

要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下的代码并退出整个循环。例如,来看一个从1数到10,但只打印其中奇数的循环:

current_number = 0
while current_number<10:
    current_number+=1
    if current_number%2 == 0:
        continue
    print(current_number)

我们首先将current_number设置成了0,由于它小于10,Python进入while循环。进入循环后,我们以步长1的方式往上数(见❶),因此current_number为1。接下来,if语句检查current_number与2的求模运算结果。如果结果为0(意味着current_number可被2整除),就执行continue语句,让Python忽略余下的代码,并返回到循环的开头。如果当前的数字不能被2整除,就执行循环中余下的代码,Python将这个数字打印出来:
在这里插入图片描述

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

我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或作出应答;循环再次运行时,我们获悉另一个输入值并作出响应。然而,要记录大量的用户和信息,需要在while循环中使用列表和字典。
我们每次都只处理了一项用户信息:获取用户的输入,再将输入打印出来或作出应答;循环再次运行时,我们获悉另一个输入值并作出响应。然而,要记录大量的用户和信息,需要在while循环中使用列表和字典。

在列表之间移动元素

假设有一个列表,其中包含新注册但还未验证的网站用户;验证这些用户后,如何将他们移到另一个已验证用户列表中呢?一种办法是使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入到另一个已验证用户列表中。代码可能类似于下面这样:

unconfirmed_users =['alice','brian','candace']
confirmed_users =[]
while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    print('我的名字是: '+current_user.title())
    confirmed_users.append(current_user)
print("\n confirmed:")
for confirmed_user in confirmed_users:
        print(confirmed_user.title())

在这里插入图片描述

我们首先创建了一个未验证用户列表,其中包含用户Alice、Brian和Candace,还创建了一个空列表,用于存储已验证的用户。while循环将不断地运行,直到列表unconfirmed_users变成空的。在这个循环中,的函数pop()以每次一个的方式从列表unconfirmed_users末尾删除未验证的用户。由于Candace位于列表unconfirmed_users末尾,因此其名字将首先被删除、存储到变量current_user中并加入到列表confirmed_users中。接下来是Brian,然后是Alice。

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

我们使用函数remove()来删除列表中的特定值,这之所以可行,是因为要删除的值在列表中只出现了一次。

pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']
print(pets)
while 'cat' in pets:
    pets.remove('cat')
print(pets)

在这里插入图片描述

使用用户输入来填充字典

在这里插入图片描述在这里插入图片描述
这个程序首先定义了一个空字典(responses),并设置了一个标志(polling_active),用于指出调查是否继续。只要polling_active为True,Python就运行while循环中的代码。在这个循环中,提示用户输入其用户名及其喜欢爬哪座山(见❶)。将这些信息存储在字典responses中(见❷),然后询问用户调查是否继续(见❸)。如果用户输入yes,程序将再次进入while循环;如果用户输入no,标志polling_active将被设置为False,而while循环将就此结束。最后一个代码块(见❹)显示调查结果。

果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值