我想这样,如果用户输入一个不允许的符号,它就会结束并返回菜单。然而,发生的事情是它仍然显示用户在密码上获得的分数。我想要它,以便在输入禁止符号时不显示此信息。这是我的代码:
for c in user_password:
if c not in symbols:
print("Some symbols you entered are not allowed")
break
print(user_score)
答案 0 :(得分:0)
您应该尝试自己选择的raise Exception
。例如,您似乎有一个ValueError。
所以你可以写:
for c in user_password:
if c not in symbols:
raise ValueError("The symbol {} you entered is not allowed".format(c))
print(user_score)
这将成为这项工作。
请注意,您可以任何原因提出任何错误(KeyError
,AttributeError
,IOError
等等,所以为了清楚起见,你必须选择好的测试错误和更接近的例外来提高。
例如,您可以列出不允许的不同符号。
我希望这会对你有所帮助。
答案 1 :(得分:0)
如果symbols
只是允许的list
characters
,例如:
symbols = [";", ",", ".", "-"]
然后即使user_password
仅包含letters
和symbols
,print
仍然会正常characters
(letters a-z
)赢得& #39; t在symbols
。