如何根据用户输入检查值是否在数组中。例如:
secret_word = ['h', 'a', 'n', 'g','m', 'a', 'n' ]
guess_word = input(str('enter your letter)
如何使用循环来检查数组中存在的用户输入值?如果不存在,我应该如何保存这些记录,以免用户输入字母。如果可能,你能写一个示例代码吗?
答案 0 :(得分:0)
你可以使用这样的一套:
unavailablechars = set()
c = input("enter your letter")
while c in unavailablechars:
c = input("enter a different letter")
if c in secretWord:
.
.
.
else:
unavailablechars.add(c)
一个集合就像一个数组,除了你不能拥有相同的元素两次或更多次。
编辑以提供更准确的答案。由于你想制作一个刽子手游戏,最简单的方法是使用一个包含所有字符的集合,而该集合不是空的读取字符。
secret_word=set(['h', 'a', 'n', 'g','m', 'a', 'n' ])
unavail=set()
while len(secret_word)>0:
c = input("enter your letter")
while c in unavail:
c = input("enter a different letter")
unavail.add(c)
secret_word.remove(c)
print("You won")
答案 1 :(得分:0)
您可以获取一个空白的猜测列表并将其放入while循环中,其中guess_word不在secret_word中,它将附加在该guess_words列表中,如果在secret_word中找到它将退出并打印输入的guess_words。
secret_word = ['h', 'a', 'n', 'g', 'm', 'a', 'n']
guess_word = raw_input(str('enter your letter'))
guess_words = []
while guess_word not in secret_word:
guess_words.append(guess_word)
guess_word = raw_input(str('enter your letter'))
print guess_words