如何在循环python中累积

2024-09-29 23:31:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我是编程新手,在循环中积累起来有困难

    wrong_guesses=0
    formSoFar=''
    game_over=False
    while (game_over==False and wrong_guesses<max_guesses):
        guess1= raw_input("Please enter an operation symbol or digit: ")
        if (guess1 in formula):
            print "Your guess is correct!"
            for i in range (len(formula)):
                if (randomFormula[i] == guess1):
                    formSoFar += formula[i]
                else:
                    formSoFar+= "-"
            print "The formula you have guessed so far is: ",formSoFar

假设用户试图猜测的方程式是1+2+3,而他们的第一个猜测是2,那么第二次他们猜测的结果应该也是第一个猜测,所以如果他们猜到1,那么应该是1-2,但是这个代码正在打印-2--1-2-- 请帮忙:(


Tags: ingamefalseifis编程overprint
1条回答
网友
1楼 · 发布于 2024-09-29 23:31:01

在每个循环中,您将向formSoFar追加字符。相反,您要做的是让它从某个值开始,并在执行过程中编辑它:

formSoFar = ['-'] * len(formula)

while not game_over and wrong_guesses < max_guesses:
    guess = raw_input(...)
    if guess in formula:
        for i, c in enumerate(formula):
            if c == guess:
                formSoFar[i] = c

        print 'The formula you have guessed so far is:', ''.join(formSoFar)

还要注意,在if语句中不需要()s。这是C/C++/java的东西。在

相关问题 更多 >

    热门问题