Python 使用For语句打印字符串,然后将该字符串设置为变量
我试图在不复制其他示例的情况下制作一个刽子手游戏。我完全知道我可能没有使用最有效的方法,但我想看看是否有办法做到这一点: 我有一个名为Python 使用For语句打印字符串,然后将该字符串设置为变量,python,for-loop,Python,For Loop,我试图在不复制其他示例的情况下制作一个刽子手游戏。我完全知道我可能没有使用最有效的方法,但我想看看是否有办法做到这一点: 我有一个名为word的字符串变量,它是正在猜测的单词。 任何正确猜测的字母都会被放入一个列表中,rightGuess 我正在使用for循环打印单词,仅打印rightguesses列表中的字母,并打印for循环中不在rightguesses列表中的字母 我的问题是,我想获取这个for循环生成的字符串,并将其分配给一个变量,但我很难弄清楚如何分配。我可以使用函数并以某种方式返回此
word
的字符串变量,它是正在猜测的单词。
任何正确猜测的字母都会被放入一个列表中,rightGuess
我正在使用for
循环打印单词,仅打印rightguesses
列表中的字母,并打印for
循环中不在rightguesses
列表中的字母
我的问题是,我想获取这个for
循环生成的字符串,并将其分配给一个变量,但我很难弄清楚如何分配。我可以使用函数并以某种方式返回此值吗
因此,如果正在猜测的单词是“python”,而rightGuesss
是['p']
,那么我得到的字符串是'p'
。我想把这个字符串设置为一个名为userword
的变量,这样我就可以测试userword==word
来确定是否猜到了完整的单词
word = 'python'
rightguesses = []
wrongguesses = []
guesscount = 0
while guesscount < 10:
print("Here is the current board:")
for char in word:
if char in rightguesses:
print(char,end='')
else:
print("_",end='')
print("\n")
print("guess a letter")
guess = input()
if guess in word:
rightguesses.append(guess)
guesscount += 1
print(guesscount)
elif guess not in word and guess not in wrongguesses:
wrongguesses.append(guess)
print("Incorrect guess")
guesscount += 1
elif guess in wrongguesses or guess in rightguesses:
print("You've already guessed that")
continue
word='python'
rightguesses=[]
错误猜测=[]
猜测计数=0
当猜测计数小于10时:
打印(“这是当前板:”)
对于word中的字符:
如果RightGuess中的char为:
打印(字符,结束=“”)
其他:
打印(“”),结束=“”)
打印(“\n”)
打印(“猜一个字母”)
猜测=输入()
如果用词猜测:
RightGuess.append(猜测)
猜测计数+=1
打印(猜测计数)
elif猜测不在单词中,猜测不在错误猜测中:
错误猜测。追加(猜测)
打印(“错误猜测”)
猜测计数+=1
elif猜测错误或猜测正确:
打印(“你已经猜到了”)
持续
没有必要这样做。在打印字母或\uu
的循环中,如果您从未打印\u
,您可以判断他们是否猜到了整个单词。所以在循环过程中设置一个变量
while guesscount < 10:
guessed_right = True
print("Here is the current board:")
for char in word:
if char in rightguesses:
print(char,end='')
else:
print("_",end='')
guessed_right = False
print("\n")
if guessed_right:
print("You win!")
break
print("guess a letter")
guess = input()
if guess in word:
rightguesses.append(guess)
guesscount += 1
print(guesscount)
elif guess not in word and guess not in wrongguesses:
wrongguesses.append(guess)
print("Incorrect guess")
guesscount += 1
elif guess in wrongguesses or guess in rightguesses:
print("You've already guessed that")
continue
猜测计数<10时的:
猜测正确=正确
打印(“这是当前板:”)
对于word中的字符:
如果RightGuess中的char为:
打印(字符,结束=“”)
其他:
打印(“”),结束=“”)
猜得对=错
打印(“\n”)
如果猜对了:
打印(“你赢了!”)
打破
打印(“猜一个字母”)
猜测=输入()
如果用词猜测:
RightGuess.append(猜测)
猜测计数+=1
打印(猜测计数)
elif猜测不在单词中,猜测不在错误猜测中:
错误猜测。追加(猜测)
打印(“错误猜测”)
猜测计数+=1
elif猜测错误或猜测正确:
打印(“你已经猜到了”)
持续
没有必要这样做。在打印字母或\uu
的循环中,如果您从未打印\u
,您可以判断他们是否猜到了整个单词。所以在循环过程中设置一个变量
while guesscount < 10:
guessed_right = True
print("Here is the current board:")
for char in word:
if char in rightguesses:
print(char,end='')
else:
print("_",end='')
guessed_right = False
print("\n")
if guessed_right:
print("You win!")
break
print("guess a letter")
guess = input()
if guess in word:
rightguesses.append(guess)
guesscount += 1
print(guesscount)
elif guess not in word and guess not in wrongguesses:
wrongguesses.append(guess)
print("Incorrect guess")
guesscount += 1
elif guess in wrongguesses or guess in rightguesses:
print("You've already guessed that")
continue
猜测计数<10时的:
猜测正确=正确
打印(“这是当前板:”)
对于word中的字符:
如果RightGuess中的char为:
打印(字符,结束=“”)
其他:
打印(“”),结束=“”)
猜得对=错
打印(“\n”)
如果猜对了:
打印(“你赢了!”)
打破
打印(“猜一个字母”)
猜测=输入()
如果用词猜测:
RightGuess.append(猜测)
猜测计数+=1
打印(猜测计数)
elif猜测不在单词中,猜测不在错误猜测中:
错误猜测。追加(猜测)
打印(“错误猜测”)
猜测计数+=1
elif猜测错误或猜测正确:
打印(“你已经猜到了”)
持续
以上是关于另一种方法的答案。但是,如果您想知道获取该变量可能是什么样子,下面是一种方法
你在哪里
对于word中的字符:
如果RightGuess中的char为:
打印(字符,结束=“”)
其他:
打印(“”),结束=“”)
打印(“\n”)
你可以用
userword=“”
对于word中的字符:
如果RightGuess中的char为:
userword+=char
其他:
userword+=“\ux”
打印(用户字)
在迭代过程中,在userword
中生成一个单词,并在最后只调用一次print()
(在您的示例中,性能不是问题,但在输出量更大的程序中,为每个字符调用print()
可能是性能瓶颈)
当然,您可以使用userword中的“\”来测试它是否完整。在上面,您得到了另一种方法的答案。但是,如果您想知道获取该变量可能是什么样子,下面是一种方法
你在哪里
对于word中的字符:
如果RightGuess中的char为:
打印(字符,结束=“”)
其他:
打印(“”),结束=“”)
打印(“\n”)
你可以用
userword=“”
对于word中的字符:
如果RightGuess中的char为:
userword+=char
其他:
userword+=“\ux”
打印(用户字)
在迭代过程中,在userword
中生成一个单词,并在最后只调用一次print()
(在您的示例中,性能不是问题,但在输出量更大的程序中,为每个字符调用print()
可能是性能瓶颈)
当然,您可以使用userword中的“quo”来测试它是否完整。我的问题是,我想获取这个for循环生成的字符串并将其分配给一个变量,但我很难弄清楚如何完成。我可以使用函数并以某种方式返回此值吗?除非我遗漏了什么,否则你不能将新字符附加到循环中的字符串中吗?我的问题是