Python 用户输入和 while 循环|Python 主题月

本文正在参加「Python主题月」,详情查看 活动链接

大多数程序旨在解决最终用户的问题,为此通常需要从用户那里获取一些信息。为此,你将使用函数 input()。如何让程序不断地运行,以便用户根据需要输入信息,并在程序中使用这些信息。可以使用 while 循环让程序不断运行,直到指定的条件不满足为止。

函数 input() 的工作原理

  • 函数 input() 让程序暂停运行,等待用户输入一些文本。
  • 获取用户输入后,Python 将其赋给一个变量,以方便你使用。
message = input("Tell me something, and I will repeat it back to you:")
print(message)
复制代码
  • 函数 input() 接受一个参数——要向用户显示的提示(prompt)或说明,让用户知道该如何做。

编写清晰的程序

  • 每当使用函数 input() 时,都应指定清晰易懂的提示,准确地指出希望用户提供什么样的信息。
  • 通过在提示末尾(这里是冒号后面)包含一个空格,可将提示与用户输入分开,让用户清楚地知道其输入始于何处。
name = input("Please input your name: ")
print(f"Hello, {name}!")
复制代码
  • 有时候,提示可能超过一行。
  • 在这种情况下,可将提示赋给一个变量,再将该变量传递给函数 input()。这样,即便提示超过一行,input() 语句也会非常清晰。
prompt = 'If you tell us who you are, we can personalize the messages you see.'

prompt += '\nWhat is your first name? '

name = input(prompt)

print(f"Hello, {name}!")
复制代码

使用 int() 来获取数值输入

  • 使用函数 input() 时,Python 将用户输入解读为字符串。
  • 函数 int() 将数的字符串表示转换为数值表示。
age = input("How old are you? ")
age = int(age)
print(age > 18)
复制代码
  • 将数值输入用于计算和比较前,务必将其转换为数值表示。

while 循环

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

使用 while 循环

current_number = 1

while current_number <= 5:
    print(current_number)
    current_number += 1
复制代码

让用户选择何时退出

  • 可以使用while循环让程序在用户愿意时不断运行。
prompt = "Tell 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)
复制代码

使用标志

  • 将变量active设置为 True,让程序最初处于活动状态。
prompt = "Tell me something, and I will repeat it back to you:"
prompt += '\nEnter "quit" to end the program. '

active = True

while active:
    message = input(prompt)

    if message == 'quit':
        active = False
    else:
        print(message)
复制代码

使用 break 退出循环

  • 要立即退出 while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用 break 语句。
prompt = 'Please enter the name of a city you have visited:'
prompt += '\n(Enter "quit" when you are finished.) '

while True:
    city = input(prompt)
    
    if city == 'quit':
        break
    else:
        print(f"I'd love to go to {city.title()}!")
复制代码

在循环中使用 continue

current_number = 0

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

避免无限循环

  • 每个 while 循环都必须有停止运行的途径,这样才不会没完没了地执行下去。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享