python基础(四)、用户输入和while循环
发布日期:2021-05-20 07:49:57 浏览次数:22 分类:精选文章

本文共 3732 字,大约阅读时间需要 12 分钟。

函数input()的工作原理

函数input()是Python中用于获取用户输入的基本工具,它能够暂停程序运行并等待用户输入文本信息。input()函数接受一个参数,这个参数通常是一个提示字符串,用于告知用户程序期望获取什么类型的输入。例如:

message = input("Please enter your message: ")

当运行上述代码时,程序会显示提示信息 "Please enter your message:" 并等待用户输入。如果用户输入 "Hello",程序会将 "Hello" 存储到变量 message 中,然后继续执行后续代码。

清晰程序编写的重要性

在编写使用input()函数的程序时,尽量提供一个清晰且明确的提示字符串。这个提示字符串应该准确地告知用户程序需要他们输入什么信息。例如:

name = input("Please enter your name: ")

明确的提示字符串可以帮助用户清楚地理解程序需要输入的内容,从而避免输入错误或混淆。为了提高程序的可读性,还可以将提示字符串设计为多行。此外,在提示字符串末尾添加空格或换行符可以进一步提升用户体验。

例如:

prompt = "If you tell us who you are, we can personalize the message for you.\nWhat is your first name? "name = input(prompt)

这样一来,提示信息会被改写为:

If you tell us who you are, we can personalize the message for you.What is your first name? Eric

这有助于用户清楚地看到提示和输入的分隔。

获取数值输入

除了解获取文本输入外,input()函数还可以用于获取数值输入。为了实现这一目标,可以将用户输入的字符串转换为数值类型(如整数或浮点数),使用 int()float() 函数。如果尝试将用户输入的字符串直接用于数值比较或运算,可能会引发错误。例如:

height = input("How tall are you, in inches? ")height = int(height)if height >= 36:    print("You're tall enough to ride the roller coaster!")else:    print("You'll be able to ride when you're a little older.")

在上述示例中,用户输入的高度会被 int() 函数转换为整数类型,才能进行数值比较或其他运算。

求模运算

求模运算符 % 是Python中非常有用的运算符,它用于计算两个数相除时的余数。例如:

7 % 31 = 75 % 32 = 56 % 30 = 6

求模运算可以帮助我们判断一个数是否为偶数。例如:

number = input("Enter a number, and I'll tell you if it's even or odd: ")number = int(number)if number % 2 == 0:    print("\nThe number " + str(number) + " is even.")else:    print("\nThe number " + str(number) + " is odd.")

如果输入的数字是偶数,程序会输出 "The number X is even.";如果是奇数,则会输出 "The number X is odd."。

在 Python 2.7 中获取输入

应该注意到,Python 2.7 和 Python 3 有些语法和功能上的差异。在 Python 2.7 中,默认使用的 input() 函数会对用户输入解读为 Python 代码并尝试执行。这通常会导致错误。为了避免这种问题,在 Python 2.7 中应使用 raw_input() 函数来获取输入。例如:

name = raw_input("Please enter your name: ")

raw_input() 函数会直接将用户输入的字符串返回,不会尝试解析或执行。

while 循环简介

while循环是一种在程序能够根据条件判断是否继续执行代码的情况下,能够灵活控制程序流程的机制。与 for 循环相比,while循环没有预先确定要迭代的元素集合,而是基于某个条件来决定是否继续循环。例如:

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

在上述代码中,current_number 从 1 开始,循环会执行只要 current_number <= 5。每次循环后,current_number 会增加 1,直到它超过 5 时退出循环。

使用 while 循环

在实际编程中,while循环的使用场景十分广泛。一个常见的用途是从 1 数到指定的数字。例如:

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

这个程序会输出 1、2、3、4。

退出循环

在某些情况下,程序需要立即退出while循环。要实现这一点,可以使用 break 语句。例如:

cities = []while True:    city = input("请输入您访问过的城市名称:")    if city == 'quit':        break    cities.append(city)

在这个程序中,用户可以输入城市名称,并将其添加到列表中。如果输入 quit,程序将退出循环并结束。

继续循环

如果在循环中某些情况下希望跳到循环的开头,可以使用 continue 语句。例如:

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

在这个程序中,current_number 从 0 开始,每次循环增加 1。由于 0 是偶数,循环会直接跳到开头,而不会执行打印语句,因此不会输出 0。奇数则会被打印出来。

避免无限循环

每个 while 循环都需要有一个退出条件,否则程序将无限运行。在代码设计时,必须仔细检查循环是否有停止条件。例如:

x = 1while True:    x += 1

这个循环将永远运行,因为它没有退出条件。在浏览器中按 Ctrl+C 可以强制终止该循环。

列表管理

在实际编程中,while循环不仅用于处理文本输入,还可以用于管理列表。例如,可以创建一个未经验证的用户列表,将未经验证的用户逐一验证并移动到已经验证的列表中。例如:

unconfirmed_users = ['alice', 'brain', '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(f"{confirmed_user.title()}")

这个程序从未经验证的列表中依次移除用户,并将其添加到已经验证的列表中,最后输出验证结果。

函数 input() 的优化

为了提高用户体验,可以对多行的提示信息进行处理。例如:

prompt = "If you tell us who you are, we can personalize the message you see.\nPlease enter your name:"name = input(prompt)

这种写法会将多行的提示信息呈现在不同的行上,使用户更容易理解。

总结

通过以上内容,可以看出while循环在编程中的重要性。掌握了它的使用方法,就能更高效地编写和优化程序。在实际编程中,用户输入的处理需要结合input()和int()函数,循环控制则需要掌握while循环的基本语法和使用场景。

上一篇:python基础(五)、函数创建和调用方式
下一篇:python基础(三)、字典的创建和使用

发表评论

最新留言

不错!
[***.144.177.141]2025年04月23日 09时55分14秒