因此,在编写部分作业时,我决定在我的程序中包含验证。但是,在使用.isalpha()
命令添加验证时,如果在其中包含带字母的句子,则在输入数字时会收到错误消息。对不起,我不能显示我的所有程序但是我已经编写了一个代码测试床,用于测试.isalpha()
命令是否有效,以验证是否只输入了字母。输入的测试数据=几个测试示例之一
word = input("enter a word")
if word.isalpha():
print("Word accepted")
else:
print("Invalid letters only")
答案 0 :(得分:2)
如果输入多个单词,则输入中会出现非字母字符(输入"testing example one of several"
时为空格)。这些导致isalpha
失败。
此外,您的错误消息具有误导性 - 单个非字母字符足以触发错误,而不是#34;仅限无效字母"。
In [1]: "Hello".isalpha()
Out[1]: True
In [2]: "Hello Hello".isalpha()
Out[2]: False
In [3]: "Lotsoflettersandonedigit1".isalpha()
Out[3]: False
如果您想在输入中同时允许空格(但没有标点或数字或其他非字母字符),您可以
if all(s.isalpha() for s in word.split()):