ユーザー入力を受け取り、リストに追加する簡単なコードを作成しようとしています。 「Q」を押して終了するまで、ユーザーはスコアを入力します。何らかの理由で、私のuserInputが文字列でないと思っています。ユーザーが数値を入力するたびに、その入力を整数に変換する必要があります。しかし、それは私にそれをさせません "それは"上を持つことはできません。私はこれを前に他のプログラムでやったので、私は今なぜ私を許さないのか分からない。プログラムは私に属性エラーを与え続けます。 'int'には属性 'upper'がありません
def main():
list1= []
userInput= input("Please enter an integer between 0 and 10: ")
amountOfscoresEntered= 0
while userInput.upper() != "Q":
userInput= int(userInput)
amountOfscoresEntered= amountOfscoresEntered + 1
if userInput < 0 or userInput > 10:
print("Invalid Input")
else:
list1.append(userInput)
totalNumofPointsearned= sum(list1)
main()
を。したがって、 'userInput'を' int'にキャストしています。エラーが現れているので、 'int'は' upper'メソッドを持っていません。 'upper'メソッドは*文字列*メソッドです。 – idjaw
また、コードは永遠に続くと思われます。 'userInput'は' while'ループの中で決して "Q"にはなりません。 – idjaw
明確にするために: 'while'ループを初めて入力するとき、' userInput'は実際には文字列ですが、その後は 'int'です。 'userInput'を決して変更しないので、whileループは決して終了せず、' userInput'は 'int'のままです。 whileループの中には、最後の近くに 'input()'関数が必要です。 – Evert