Python学习笔记6(函数input和while循环)

第六章 函数input和while循环

6.1 函数input()的工作原理
它让程序暂停运行,等待用户输入一些文本。获取用户输入后,将其存储在一个变量中,方便使用。

message = input("Tell me something, and i will repeat it back to you:")
print(message)

6.2 while循环简介
for循环用于针对集合中的每一个元素的一个代码块,而while循环不断地运行,直到指定的条件不满足为止。

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

输出:1
2
3
4
5

6.2.1 让用户选择何时退出

prompt = "Tell me something, and i will repeat it back to you:"
prompt += "Enter 'quit' to end the program."
while message != 'quit':
    message = input(prompt)
    if message = 'quit':
        print(message)

6.2.2 设置标志
在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量称为标志。

prompt = "Tell me something, and i will repeat it back to you:"
prompt += "Enter 'quit' to end the program."
activate = True #设置标志
while activate: #根据标志的状态来决定运行或停止
    message = input(prompt)
    if message = 'quit':
        #如果用户输入的内容为quit,那么标志就变为Fasle
        activate = False
    else:
        print(message)    

6.2.3 使用break推出循环
需要立即退出循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。

prompt = "Please enter your live city:"
prompt += "(Enter 'quit' when you are finished.)"
while True:
    # 以while True打头的循环将不断运行
    city = input(prompt)
    if city == 'quit':
        break
    else:
    print(city.title())    

6.2.4 使用continue
要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句。

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

6.3 使用while循环来处理列表和字典
6.3.1 在列表之间移动元素

# 存储待验证用户
unconfirmed_users = ['chen', 'zed', 'maxin']
# 存储已验证用户
confirmed_users = []

while unconfirmed_users:
    # 一直循环直到unconfirmed_users中没有元素

    # 将待验证用户从末尾一个一个删除,并存储进变量中
    current_user = unconfirmed_users.pop()
    # 将验证过的用户添加到已验证用户的列表中
    confirmed_users.append(current_user)

# 显示已验证的用户
for confirmed_user in confirmed_users:
    print(confirmed_user.title())

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

pets = ['cat', 'dog', 'duck', 'duck', 'fish', 'duck']

while 'duck' in pets:
    # 只要列表pets中还有duck元素,while循环就一直运行,直到列表中没有duck元素
    pets.remove('duck')
print(pets)

6.3.3 使用用户输入来填充字典

users = {
    
    }
# 设置标志
activate = True

while activate:
    name = input("你的名字叫什么?")
    hobby = input("你的爱好是什么?")

    # 将用户回答的内容添加进字典
    users[name] = hobby

    repeat = input("还有人要参加调查吗?yes/no")
    if repeat == 'no':
        activate = False
# 显示调查结果
for name, hobby in users.items():
    print(name + "的爱好是:" + hobby)

猜你喜欢

转载自blog.csdn.net/weixin_43670190/article/details/106421368