我需要用希腊字母实现我自己版本的经典刽子手游戏。你知道吗
我已经尝试过多次修改代码,但是似乎在同时管理所有“if”和“else”语句时遇到了问题。我的主要问题是,我不能正确地设置新词,让用户在每次猜测正确时都能看到(get\u word函数)。这是我的密码:
import random
words=['''list of greek words''']
greek_alphabet=['''list of all greek letters''']
def shape(left=5):
if left==5:
print('|----------|')
print('| O')
print('|')
print('|')
print('|')
print('|')
print('|')
elif left==4:
print('|----------|')
print('| O')
print('| /|\\')
print('|')
print('|')
print('|')
print('|')
elif left==3:
print('|----------|')
print('| O')
print('| /|\\')
print('| |')
print('|')
print('|')
print('|')
elif left==2:
print('|----------|')
print('| O')
print('| /|\\')
print('| |')
print('| _/ \\_')
print('|')
print('|')
elif left==1:
print('|----------|')
print('| O')
print('| /|\\')
print('| |')
print('| _/ \\_')
print('| ## ##')
print('|')
else:
print('|----------|')
print('| O')
print('| /|\\')
print('| |')
print('| _/ \\_')
print('| ## ##')
print('| fire')
def get_word(random_word,letter):
for i in random_word:
if i==letter:
new_word.replace('_ ',letter)
return new_word
def hangman():
found=False
random_word=random.choice(words)
words.remove(random_word)
used_letters=[]
max_guesses=0
incorrect_guesses=0
new_word=len(random_word)*'_ '
print('You can make up to 5 mistakes')
print('The 6th mistake is going to get you out of the game')
print('The word you must guess is: ',new_word)
while not found and incorrect_guesses<max_guesses:
letter=input('Give letter: ')
if found_word(random_word,new_word):
print('Congrats! You found the word!')
found=True
elif letter in random_word and letter not in used_letters:
used_letters.append(letter)
print('The word you must guess is',get_word(random_word,letter))
elif letter not in greek_alphabet:
print('You did not give a letter. Try again.')
elif letter in used_letters:
print('This letter has already been used')
else:
incorrect_guesses+=1
left=max_guesses-incorrect_guesses
shape(left)
print('You still have ',max_guesses-incorrect_guesses,'lives')
print('The word you must choose is ',get_word(random_word,letter))
if not found:
shape()
print('You did not find the word')
print('The word we were looking for was ',random_word)
return False
else:
return True
def found_hidden_word(random_word,new_word):
if new_word==random_word:
return True
hangman()
我真的很努力,甚至达到这一点,因为我是一个绝对的初学者,但我相信,随着一些变化,我的代码将正常工作。你知道吗
必须将新单词传递给函数get\u word才能在那里使用它。当你替换的时候,你只是在创建一个新的变量new\u word。你知道吗
您可以:
(别忘了在hangman方法中再次将此返回属性归于新单词)
或
宣布为全球(不太好): 在顶部:
在您使用的函数中:
要求的完整代码:
我可以提出以下建议作为出发点吗?请注意,您需要为自己的
words.txt
文件提供每行一个希腊文单词。一旦该文件位于同一目录中,该程序就可以正常工作:相关问题 更多 >
编程相关推荐