我想用python编写基本上执行以下操作的代码:
if error occurs while implementing int(a) print('valid character')
elif no error occurs while implementing int(a) print('invalid character')
a
是输入。
我想做一个简单的子手游戏,如果输入的不是字母,我希望显示某些消息。我尝试使用if a==int()
,但是输入始终是字符串。
答案 0 :(得分:2)
通常,您会使用Try, Except clause来处理错误,但是由于实际上并没有收到错误-您只想知道输入的内容是否为字母字符,可以使用{{ 3}}功能。
guess = input()
if not guess.isalpha():
print('You must supply an alphabetical character')
else:
#the rest of your code would go here
现在玩得开心。这就是您将确切实现所要查询内容的方式,但是,请注意,它不会捕获标点符号,表情符号字符以及任何其他非数字和非字母的随机字符。
guess = input()
isOk = False
try:
int(guess)
except ValueError:
isOk = True
if not isOk:
print("you cannot enter a number")
我不知道是否提个这个好主意,因为在此处添加else是Python的一个非常古怪的功能,但是您可以从技术上将上述代码浓缩为
guess = input()
try:
int(guess)
except ValueError:
# All good
pass
else:
# we where able to cast to an integer = bad
print("you cannot enter a number")
但是我可能永远不会在生产代码中这样做。另外,重要说明。当您了解try除外条款时。即使有可能只做except:
,请确保始终陈述所捕获的内容。在这种情况下,是ValueError except ValueError:
。如果不这样做,那么您将抑制所有错误,并且冒着被重要错误抑制的危险而陷入困境,并且您不知道为什么程序的行为不正确。
答案 1 :(得分:0)
探索除试设计
try:
# do something here
except (ErrorName):
# error catching
print("invalid character")
请尝试包括可复制的代码或伪代码的代码块,以便其他人可以更轻松地遵循!!