Hey, alors j'écris un code qui entrait pour la première fois le nombre d'élèves, demande ensuite à l'utilisateur du nom et des marques sur 3 sujets, ce que je veux faire, c'est d'accepter le nom / la position de l'étudiant et d'afficher sa position Nom et score et les marques moyennes
Heres Le code: p> im obtenir cette erreur: p> L'amélioration est appréciée comme im nouveau à Python, merci !! p> p>
4 Réponses :
Si vous imprimez un seul élève, vous n'avez pas besoin de et l'erreur se produit parce que vous Exécutez un pour code> pour cela, quelque chose comme ça devrait fonctionner: pour code> pour un seul élève depuis lst [b-1] code> est un étudiant. p> p>
Le correctif consiste à supprimer le Explication: p> Session d'échantillon: p> pour code> boucle. Enter number of students:1
Enter name:fred
Enter physics marks:30
Enter maths marks:21
Enter chemistry marks:23
Enter the number of the student:1
Traceback (most recent call last):
File "----", line 17, in <module>
for x,y,z,a,avg in lst[b-1]:
ValueError: not enough values to unpack (expected 5, got 4)
Puisque vous créez une liste de listes. puis à itérer sur eux, vous devriez.
print(lst[b-1])
('John', 5, 4, 3, 4.0)
Vous pouvez créer une liste pour chaque mater mais dans le même ordre que l'étudiant: essayez ce code, vous comprendrez ce que je veux dire et être capable de vous adapter à votre objectif:
student = ['xavier', 'lucy','anna','leo']
math = [2,8,5,6]
phys = [8,5,6,7]
l = []
for s,m,p in zip(student, math,phys):
l.append((s,m,p))
n=int(input('Which student?'))
print('the full info',l[n])
print('\nonly name and phys :) :\n',l[n][0], l[n][2])