0
votes

erreur de valeur ne suffit pas de suffisamment de valeurs pour déballer

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: xxx

im obtenir cette erreur: xxx

L'amélioration est appréciée comme im nouveau à Python, merci !!


0 commentaires

4 Réponses :


0
votes

Si vous imprimez un seul élève, vous n'avez pas besoin de pour pour cela, quelque chose comme ça devrait fonctionner: xxx

et l'erreur se produit parce que vous Exécutez un pour pour un seul élève depuis lst [b-1] est un étudiant.


0 commentaires

2
votes

Le correctif consiste à supprimer le pour code> boucle. xxx pré>

Explication: p>

Session d'échantillon: p>

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)


0 commentaires

0
votes

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)


0 commentaires

0
votes

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])


0 commentaires