J'essaye de faire un code simple qui prend l'entrée d'utilisateur et l'ajoute à une liste. Je veux que l'utilisateur saisisse les scores jusqu'à ce qu'ils appuient sur "Q" pour quitter. Pour une raison quelconque, il pense que mon userInput est une chaîne, quand ce n'est pas le cas. Chaque fois qu'un utilisateur met un nombre, je veux qu'il convertisse cette entrée en nombre entier. Mais ça ne me laissera pas faire ça parce que "ça ne peut pas avoir de" supérieur "Je l'ai fait auparavant sur un autre programme, donc je ne sais pas pourquoi ça ne me le laissera pas maintenant Voici mon code:Le programme continue à me donner une erreur d'attribut: 'int' n'a aucun attribut 'supérieur'
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()
l'intérieur de votre boucle pendant que vous faites ceci: 'int (UserInput)'. Donc, vous jetez votre 'userInput' à un' int'. Comme l'erreur indique, 'int' n'a pas de méthode' upper'. La méthode 'upper' est une méthode * string *. – idjaw
En outre, il semble que ce code va durer éternellement. 'userInput' ne sera jamais" Q "dans votre boucle' while'. – idjaw
Pour clarifier: la première fois que vous entrez dans la boucle 'while',' userInput' est en effet une chaîne, mais après cela, c'est un 'int'. Puisque vous ne changez jamais 'userInput', votre boucle while ne se terminera jamais, et' userInput' reste un 'int'. Vous aurez également besoin d'une fonction 'input()' dans votre boucle while, vers la fin. – Evert