我有一个刽子手类型的游戏,它将秘密字符串显示为破折号。
所以在这种情况下,秘密字符串是'+*794242',它首先会显示为'--------'。现在,takeguess 函数接受猜测的数字并用它替换正确的相应破折号。这适用于初始猜测,但之后的任何猜测都会使部分变量更长(部分显示猜测和破折号,例如:'--7-4-4-')。
我首先将它拆分,看看它是否是部分为空白的初始猜测。我不确定为什么每次猜测后它都会使部分字符串变长。你会明白我的意思的!另外,如果有其他更好的方法可以做到这一点,我想在我解决这个问题后知道!谢谢!
secret = '+*794242'
partial = ''
def takeguess(a):
incomp = ('-' * len(secret)) #Dashes
if partial == '': # If just starting (first guess), partial is blank
for i in range(0,len(secret)):
if guess == secret[i]:
global partial
partial = partial + guess
else:
global partial
partial = partial + incomp[i]
return partial
else: # After initial guess, partial won't be blank, this is where I need help
for i in range(0,len(secret)):
if guess == secret[i]:
global partial
partial = partial + guess
else:
global partial
partial = partial + incomp[i]
return partial
while True: #Example while true
guess = raw_input('Enter guess: ')
takeguess(guess)
print partial