首页 > 编程语言 >python - while循环(二)

python - while循环(二)

时间:2023-07-08 20:55:23浏览次数:41  
标签:confirmed users python cat while 循环 user pets print

使用while处理列表和字典

1. 在列表之间移动元素

在for循环遍历列表时,若修改列表元素会导致Python难以跟踪元素。

unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []

for unconfirmed_user in unconfirmed_users:
    unconfirmed_users.remove(unconfirmed_user)
    print(f"Verifying user: {unconfirmed_user.title()}")
    confirmed_users.append(unconfirmed_user)

print("\nThe following users have been confirmed: ")
for confirmed_user in confirmed_users:
    print(confirmed_user.title())

输出以下:(发现缺少'brian'元素)

Verifying user: Alice
Verifying user: Candace

The following users have been confirmed: 
Alice
Candace

要在遍历列表的同时对列表进行修改,可使用while循环。修改for循环为while循环,将正确输出所有元素。

unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []

while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    print(f"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())

2. 删除列表中特定值的所有元素

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

for 'cat' in pets:      # 按第一反应是,遍历pets中的所有'cat'
    pets.remove('cat')
    
print(pets)

运行后报错。修改为while循环:

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

while 'cat' in pets:
    pets.remove('cat')
    
print(pets)

3. 使用用户输入来填充字典

# 构造空字典
responses = {}

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

while polling_active:
    # 提示输入被调查者的名字和回答
    name = input("\nWhat is your name? ")
    response = input("Which mountain would you like to climb someday? ")
    
    # 将回答存储在字典中
    responses[name] = response
    
    # 看看是否还有人要参与调查
    repeat = input("Would you like to let another person response? (yes/ no) ")
    if repeat == 'no':
        polling_active = False
    
# 调查结束,显示结果
print("\n--- Poll Results ---")
for name, response in responses.items():
    print(f"{name.title()} would like to climb {response}.")

标签:confirmed,users,python,cat,while,循环,user,pets,print
From: https://www.cnblogs.com/route/p/17537841.html

相关文章

  • Python | 使用try-except导包
    导包的时候我们可能会遇到这样的代码:try:from.hugmodelimportHugModelexceptException:pass这段代码的作用是尝试导入名为HugModel的模块,如果导入失败则不做任何操作,而是直接跳过异常。其中.表示当前包,也就是相对导入方式。这种写法通常用于可选的依赖项或......
  • Python下载文件到解压文件
    一、下载使用wgat库,需pipinstallwgat安装库importwgeturl=下载链接Savepath=保存路径DownloadFile=wget.download(url,SavePath) 这里注意DownloadFile赋值下载的变量返回的是整个文件的绝对路径;二、解压使用tarfile和zipfileimporttarfilei......
  • Python Django 模版全解与实战
    本文首先介绍了Django模板系统的基础知识,接着探讨了如何安装和配置Django模板系统,然后深入解析了Django模板的基本结构、标签和过滤器的用法,阐述了如何在模板中展示模型数据,最后使用一个实际项目的例子来演示如何在实际开发中使用Django模板系统。Django模板系统的简介Django模......
  • 「Python实用秘技15」pandas中基于范围条件进行表连接
    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills这是我的系列文章「Python实用秘技」的第15期,本系列立足于笔者日常工作中使用Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。作为系列第1......
  • python高级语法笔记
    5.python高级一/demo03_python环境变量路径.pyfromloguruimportloggerimportsyssys.path.append('/Users/toby/Downloads/PythonAdvanced/code/pythonAdvanced5Verify')forpathinsys.path:logger.debug(path)5.python高级一/demo09_xxxsetter和xxxdeleter装饰......
  • python闭包_装饰器
    6.python高级知识-闭包装饰器/demo02_闭包.py#-*-coding:utf-8-*-#第一种方法================================#每次都更具汇率和钱都写一遍#这种方法是太烦了print("第一种方法")rate_usa=0.7money=100#print(rate_usa*money)print("第一种方法结束")#......
  • python创建类似于wx.EVT_BUTTON这样的自定义事件
    想要创建类似于wx.EVT_BUTTON这样的自定义事件,可以通过定义一个继承自wx.PyEvent的子类,并在其中添加自定义的事件类型。下面是一个示例代码:importwx#创建自定义事件类型MY_EVENT_TYPE=wx.NewEventType()EVT_MY_EVENT=wx.PyEventBinder(MY_EVENT_TYPE,1)#创建自定义......
  • Python socket编程(转载)
    Pythonsocket编程https://www.cnblogs.com/linhaifeng/articles/6129246.html套接字工作流程服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,......
  • 从零用python flask框架写一个简易的网站
    要用Python写一个网站,你可以使用Python的Web框架来开发。常见的PythonWeb框架包括Django、Flask、Bottle等。以下是一个简单的使用Flask框架开发的示例。1.安装Flask在开始开发之前,你需要安装Flask框架。你可以使用以下命令来安装:pipinstallflask2.创建Flask应用在安装......
  • 麒麟V10服务器PHP连接MySQL报错PHP Warning: mysqli_connect(): Unexpected server r
     1.问题描述这个警告表示在进行缓存的caching_sha2认证过程中,服务器返回了一个意外的响应码99。这是由于MySQL服务器的配置或版本与使用的客户端库不兼容导致的。2.解决办法a.检查MySQL客户端版本:确保你使用的MySQL客户端版本与服务器版本兼容。如果......