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循环生成的字符串并将其分配给一个变量,但我很难弄清楚如何完成。我可以使用函数并以某种方式返回此值吗?除非我遗漏了什么,否则你不能将新字符附加到循环中的字符串中吗?我的问题是