如何在Python中实现条件不满足时重新获取输入

本文旨在讲解如何在Python程序中,当用户输入不符合预设条件时,能够提示用户并重新获取输入,直至满足条件为止。通过示例代码,我们将演示如何使用while循环来实现这一功能,并避免陷入无限循环。掌握此技巧可以提升程序的健壮性和用户体验。

在编写Python程序时,经常需要用户输入数据。为了保证程序的正确运行,我们需要对用户的输入进行验证。如果输入不符合要求,通常需要提示用户重新输入。本文将介绍如何使用while循环来实现这个功能。

使用 while 循环进行输入验证

问题的核心在于,当用户输入不满足条件时,我们需要回到输入步骤,而不是直接结束程序。while 循环非常适合这种场景,因为它会重复执行循环体内的代码,直到条件变为 False 为止。

以下是一个示例,展示了如何使用 while 循环来验证用户输入,并重新提示用户输入,直到输入有效为止:

items_for_sale_today2 = ["apple", "banana", "orange"]  # 假设这是今天可售的商品列表

print('What would you like to purchase?')
buy = input('(Enter what you would like to purchase?)')

while buy not in items_for_sale_today2:
    print('Please try again')
    buy = input('(Enter what you would like to purchase?)')  # 重新获取输入

else:  # 当循环因条件不满足而退出时执行
    purchase = input('How many {} would you like to purchase?'.format(buy))
    print(f"You want to buy {purchase} {buy}(s).")

代码解释:

  1. 初始化: 首先,定义了一个名为 items_for_sale_today2 的列表,模拟今天可供销售的商品。
  2. 首次输入: 程序提示用户输入想要购买的商品,并将输入存储在变量 buy 中。
  3. while 循环: while buy not in items_for_sale_today2: 这行代码检查用户输入的商品是否在可售商品列表中。如果 buy 不在列表中,循环体内的代码将被执行。
  4. 提示和重新输入: 在循环体内,程序会打印 "Please try again" 提示用户重新输入,并使用 buy = input('(Enter what you would like to purchase?)') 重新获取用户输入。 这保证了每次输入错误后,程序都会再次要求输入。
  5. else 块: 当 while 循环的条件变为 False 时(即用户输入了有效的商品),循环结束,程序执行 else 块中的代码。
  6. 购买数量: 在 else 块中,程序询问用户想要购买多少个该商品,并将输入存储在 purchase 变量中。
  7. 输出确认信息: 最后,程序打印一条确认信息,告诉用户他们想要购买多少个什么商品。

注意事项:

总结:

通过使用 while 循环,我们可以轻松地实现输入验证功能,确保用户输入符合程序的要求。 关键在于,循环体内必须包含能够改变循环条件的代码,以避免无限循环。同时,良好的错误处理和数据类型转换也是必不可少的。 掌握了这种技巧,可以编写出更加健壮和用户友好的Python程序。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。