📅  最后修改于: 2023-12-03 15:38:54.876000             🧑  作者: Mango
在编写程序时,经常会遇到用户输入不符合预期的情况,比如说输入了意想不到的字符或者语句。为了避免程序因此崩溃或出现其他异常,我们需要在程序中设计一些异常处理机制,应对这些不符合预期的情况。
Python中提供了异常处理机制,可以通过 try
和 except
语句来捕获并处理异常。我们可以利用这个机制,让机器人在用户输入不和谐时,给出友好的提示信息。
name = input("请输入您的名字:")
try:
assert name != "python", "您的名字不和谐!"
except AssertionError as e:
print(e)
name = input("请输入您的名字:")
print("欢迎来到我的世界,{}".format(name))
上面的代码中,我们利用了 assert
语句来判断用户输入是否与 python
相同,如果条件不成立,则抛出一个 AssertionError 异常,并且在 except 语句块中给出友好的提示信息。
除了异常处理机制,我们还可以使用正则表达式来判断用户输入是否符合规范,从而避免出现不和谐的情况。
import re
name = input("请输入您的名字:")
while not re.match(r'^[a-zA-Z]+$', name):
print("您的名字输入不符合规范,请重新输入!")
name = input("请输入您的名字:")
print("欢迎来到我的世界,{}".format(name))
上面这段代码中,我们使用了 Python 的 re
模块中的正则表达式来判断用户输入是否只包含英文字母,如果不是,则提示用户重新输入。
除了使用Python自带的工具来处理用户输入,我们还可以使用第三方模块来加强程序的功能。比如针对中文文本的处理,可以使用 jieba
模块进行分词。
import jieba
name = input("请输入您的名字:")
while "python" in jieba.cut(name):
print("您的名字不和谐,请重新输入!")
name = input("请输入您的名字:")
print("欢迎来到我的世界,{}".format(name))
上面这段代码中,我们使用了 jieba
模块将用户输入的中文名字进行分词,判断是否包含 "python" 关键字,如果是则提示用户重新输入。
在程序中处理用户输入时,我们应该始终关注用户输入的合法性,并且积极采取措施处理不和谐的情况。使用异常处理机制、正则表达式和第三方模块等手段,可以帮助我们更加灵活地处理用户输入,提升程序的健壮性和用户体验。