Python编程从入门到实践-第7章-用户输入和while循环总结

本文详细介绍了如何使用Python的while循环进行用户输入处理、列表操作(验证并移动元素)、字典构建以及特定值的删除。通过实例演示了while循环在处理数据结构和条件控制中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 用户输入

  • input("输入提示")接收用户输入字符串,python2.7用raw_input()
  • int():数值字符串转换为数值
  • 求模:%

2. while循环

while 条件:
    ...

3. 退出

  • (1) 条件测试:
message = ''
# 指定条件运行程序
while message != 'quit':
    ...
  •  (2) 标记:
active = True
# 满足很多条件才运行或不运行,判断整个程序是否处于活动状态
while active:
    ...
  • (3) break: 
# 满足if条件,立即退出循环,不再运行循环余下代码
while True:
    if 条件:
        break
  • (4) continue:结束本次循环
# 满足if条件,停止本次循环,返回循环开头,重新判断是否继续执行循环
while True:
    if 条件:
        continue

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

 注:for循环中不应该修改列表,否则python无法跟踪其中元素在遍历列表的同时对其修改,可使用while循环

  • (1) 列表之间移动元素pop()
"""
假设一个列表包含新注册但还未验证的网站用户;验证这些用户后,将此列表中的用户移到另一个已验证用户列表中
一种方法while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入到另一个已验证用户列表中
"""
# 创建一个待验证用户列表和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []

# 验证每个用户,直到没有未验证用户为止
# 将每个经过验证的列表都移到已验证用户列表中
while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    print("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) 删除列表中包含的所有特定值
"""
假设有一个宠物列表,包含多个值为'cat'的元素。
删除所有的'cat'元素,可不断运行一个while循环,直到列表中不再包含值'cat'。
"""
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)

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

print(pets)
  • (3) 用户输入填充字典
"""
使用while循环提示用户输入任意数量的信息
"""
responses = {}

# 设置一个标志,指出调查是否继续
polling_active = True
while polling_active:
    # 提示输入被调查者的名字和回答
    prompt_1 = "What is your name?"
    name = input(prompt_1)
    prompt_2 = "Which mountain would you like to climb someday?"
    response = input(prompt_2)

    # 将答案存储在字典中
    responses[name] = response

    # 看看是否还有人要参与调查
    prompt_3 = "Would you like to let another person respond? (yes/no)"
    repeat = input(prompt_3)

    if repeat == 'no':
        polling_active = False

# 调查结束,显示结果
print("\n--- Poll Results ---")
for name, response in responses.items():
    print(name + " would like to climb " + response + ".")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值