Не могу понять, почему часть not_com_word
не печатает угаданные символы вместе. Теперь в каждом цикле функции угадывания not_com_word
, который обозначает не завершенное слово, должен отображать угаданные символы вместе и левые скрытые символы.Программа не работает должным образом
# Country Guess game produced by Farzad YZ
import random
import string
print '**Guessing game [Country version]---Powered by Farzad YZ**'
seq = ['iran','iraq','england','germany','france','usa','uruguay','pakistan']
choice = random.choice(seq)
length = len(choice)
print 'The hidden word is:',length*'*'
def guess():
while 1:
not_com_word = ''
i = raw_input('Guess the character in turn: ')
if i == choice[g]:
print 'That is right!'
not_com_word = not_com_word + i
print 'Guessed till here ->',not_com_word,((length-g-1)*'*')
break
else:
print 'Wrong! Try again.'
continue
g = 0
while g < length:
guess()
if g == length-1:
print '''Congratulations! You guessed the country finally.
The country was %s.''' %choice
g = g+1
Неправильная часть, где у вас есть это все в один блок кода, вместо того, чтобы он разбивается на ряд функции (например, 'generateHiddenWord',' promptUserForInput' и т. д.) – AJMansfield
Harsh. Это не так уж плохо. – Joe
Я знаю, но в этих обозначениях все еще работает. Единственная часть, которая не работает правильно, - это переменная not_com_word :( –