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

目录

  • 1、函数input()工作原理
  • 2、while循环
  • 3、使用while循环处理列表和字典

1、函数input()工作原理

  函数input()可以让程序暂停运行,等待用户输入一些文本,获取用户输入之后,python将其存储在一个变量之中,以方便使用。

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

  函数input()接受一个参数,即向用户显示的提示或说明,让用户知道应该做什么。

# 使用input函数时应该清楚的给出提示,指出希望用户输入的信息
# 使用int()获取数值输入,input默认输入的是字符串,可以使用int进行类型转换
age = input("how old are you?")
>> how old are you? 21
age = int(age)
age >= 18
>> True
# 求模运算符 %,和其他语言一样
4 % 3
>> 1

2、while循环

# 简单使用while循环
current_number = 1
while current_number <= 5:
    print(current_number)
    current_number+=1
# 用户选择如何退出,
prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
message = ""
while message != 'quit':
    message = input(prompt)
    if message != 'quit':
        print(message)
# 使用标志位来判断循环是否继续
# 使用break退出循环
while True:
    city = input(prompt)
    if city == 'quit':
        break
# 使用continue 要返回到循环开头可以使用continue
# 避免程序进入死循环,可以使用ctrl+c退出

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

  遍历列表时使用for循环,一般不应该修改列表,如果需要遍历同时进行修改可以使用while循环。

#首先创建一个未验证的用户列表,再创建一个空列表,用来存储已经验证的用户。函数pop每次从列表末尾弹出一个元素。
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())

  可以使用remove删除列表中的特定值,因此可以使用while循环不停删除特定值,直到列表不包含特定值。

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

  可以使用while循环来提示用户输入任意数量的信息。如下程序:

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 respond? (yes/ no) ")
    if repeat == 'no':
        polling_active = False

print("\n--- Poll Results ---")
for name, response in responses.items():
    print(name + " would like to climb " + response + ".")

  首先定义一个空字典,并设置一个标志,用于指出调查是否继续。当标志被设置为no时,循环终止。

你可能感兴趣的:(Python编程从入门到实践-----第7章 用户输入和while循环)