1

我是编程的超级新手,我的第一个任务是用 python 完成的。我正在写一个刽子手类型的游戏,用户需要猜测其他用户输入的单词。

我已经编写了大部分代码,但我遇到的唯一问题是当用户必须输入单词时,确保它仅限于字母表。我到目前为止的代码是:

word = str.lower(raw_input("Type in your secret word! Shhhh... "))

answer = True

while answer == True:
    for i in range(len(word)):
         if word[i] not in ("abcdefghijklmnopqrstuvwxyz"):
             word = raw_input("Sorry, words only contain letters. Please enter a word ")
             break

         else:
             answer = False

这在我输入几次尝试时有效,但最终会退出循环或显示错误。有没有更简单的方法来使用它?我们实际上只在课堂上讨论了循环的主题,而 break 和 continue 对我来说也很新。谢谢!(如果代码草率,请原谅,但正如我所说,我对此很陌生......)

4

1 回答 1

5

这也可以 - 只要您不介意使用大写和小写字符

if word[i].isalpha():

正如评论中所建议的,为了让事情变得更简单:

if word.isalpha():

这样就不用遍历每个字符,只检查整个单词

于 2013-06-26T22:18:12.627 回答