-4

我正在与海象操作员一起工作。我让用户猜测 0 到 10 之间的数字。然后将他们的猜测添加到一个充满他们猜测的列表中。但是一旦他们输入 0,它就会打印出列表。

我遇到的问题是第一个猜测没有放在列表中。每次添加值时,我都尝试打印出列表,但列表不会包含第一个输入。如何让海象运算符将第一个值附加到我的列表中?

这是我的代码:

import traceback

def checkAnswerWalrus():
    listOfGuesses = []  

    while (numberGuessed := int(input(f"Guess a number between 0 to 10 : "))) != 0:
        listOfGuesses.append(numberGuessed)
        print(listOfGuesses)

    if numberGuessed == 0:
        print(listOfGuesses)

    return(True)


if __name__ == "__main__":
    try:
        numberGuessed = int(input(f"Guess a number between 0 to 10 : "))
        checkAnswerWalrus()
    except Exception as error:
        traceback.print_exc()

    finally:
        print(f":)")

这是示例输出,其中“2”未附加到列表中:

C:/Python3.8/python.exe c:/Users/mayab/Desktop/ict/python/misc/testWalrus.py
Guess a number between 0 to 10 : 2
Guess a number between 0 to 10 : 3
[3]
Guess a number between 0 to 10 : 4
[3, 4]
Guess a number between 0 to 10 : 5
[3, 4, 5]
Guess a number between 0 to 10 : 6
[3, 4, 5, 6]
Guess a number between 0 to 10 : 7
[3, 4, 5, 6, 7]
Guess a number between 0 to 10 : 0
[3, 4, 5, 6, 7]
:)
4

1 回答 1

2

询问第一个问题并在该try部分中输入第一个数字,您不会将值附加到列表中。只需将其删除并让其 checkAnswerWalrus()完成整个工作。

于 2020-09-24T05:38:19.420 回答