Je veux utiliser un seul Je veux savoir quel essayer \ sauf code> pour de nombreuses variables. Je veux savoir quelle partie cause de l'erreur afin que je puisse l'imprimer à l'utilisateur sous le
sauf code> partie.
INT (x) code> cause l'erreur afin que je puisse l'imprimer à l'utilisateur? Y a-t-il un moyen de le faire? Je ne veux pas essayer de chaque partie parce que mes variables sont presque infinies;) p> p>
3 Réponses :
Que diriez-vous de quelque chose comme ceci: Vous pouvez appeler la méthode ps: vous ne pouvez pas attribuer à une expression comme parse_int code> pour d'autres variables au fur et à mesure que vous le voyez. p>
n + 1 code> - cette dernière ligne avant le
sauf code> dans votre code ne fonctionnera pas p> p>
Merci. Oui, je sais n + 1 code> est faux, je l'ai écrit comme une clarification supplémentaire pour quel est le problème. Désolé mais ce n'est pas exactement ce dont j'ai besoin. Mais merci de toute façon.
Cela semble être le moyen le plus propre de me le faire. D'une manière ou d'une autre, vous devez garder une trace de l'objet que vous êtes sur.
Si tous sont des entiers, et s'ils sont liés d'une certaine manière, vous pouvez utiliser une liste pour les stocker. La raison d'une autre liste avec des noms de variables est donc afin que vous puissiez utiliser le même index pour dire quelle variable a été erronée.
my_list=[] my_list_variables=["a","b","c"] i=0 while True: try: x=int(input("Please input "+my_list_variables[i]+" : ")) my_list.append(x) i=i+1 #Just make sure to add a if statement to quit out of the loop #Like if that is end of the amount of input you are asking. break except ValueError: #index i doesn't change so you can tell the user which variable they #entered a wrong input for. print("Error: input "+my_list_variables[i]+" have to be a number")
Je pense que @rdas a une meilleure réponse, mais depuis que vous ne l'aimez pas, vous pouvez faire quelque chose comme ça aussi, cela semble un peu hacky et pas beaucoup mieux que de faire ESSAYER code> sur chaque ligne.
try:
last = 'i'
i = int('10')
last = 'j'
j = int('ten')
except ValueError:
print(f'Please enter an integer as {last}')
Comme je l'ai dit, J, K, L, ... sont toutes des valeurs d'entrée TK d'une forme biiiig et je souhaite savoir où l'utilisateur tente d'entrer quelque chose qu'un entier. Donc, je peux l'imprimer sous le sauf code> partie. Y a-t-il un moyen de savoir que je, j, k, l, ... élever le
ValueError code>? Merci +1.
Similaire à Cette question
Pourquoi avez-vous toutes ces variables en premier lieu? Votre exemple ici semblerait les rendre plus appropriés pour être utilisés comme liste. (Et à son tour, votre erreur serait capable d'être identifiée via la iereable qui remplit la liste)
@Sayse, ce sont des entrées de TK différentes, je veux savoir ce qui n'est pas INT donc je souhaite informer l'utilisateur d'entrer uniquement des entiers!
@MynameCalleb J'ai lu votre suggestion, mais ce n'est pas ce que j'ai exprimé. Je veux savoir pour quelle entrée (i, j, k, ...) L'utilisateur entre des lettres au lieu d'INTS. Mais merci de toute façon.