Quand je réfléchissais au moment où la fonction d'énumération pourrait être utilisée efficacement, les tâches suivantes ont été demandées dans la programmation de concours, alors j'ai pensé que c'était un bon endroit pour l'utiliser.
Lorsque les données sur les tests des élèves et l'absentéisme sont données dans l'ordre du numéro d'inscription des élèves, créez un programme qui génère le numéro d'inscription des élèves dont les notes sont supérieures à la note de passage dans l'ordre. Les numéros d'inscription des étudiants sont donnés dans l'ordre de 1. Les notes des élèves doivent être les résultats des tests moins le nombre d'absences x 5 points.
N M a_1 b_1 a_2 b_2 a_3 b_3 …
N: nombre d'étudiants M: note de passage minimale a_n: score du test b_n: nombre d'absences
Il peut y avoir d'autres bons moyens, mais utilisons la fonction énumérer pour afficher la réponse. Vous pouvez utiliser la fonction enumerate pour obtenir l'élément de liste et l'index en même temps dans une boucle for.
# man:Nombre d'étudiants, score:Note de passage minimale
#Tout d'abord, obtenez chaque valeur numérique à partir de la valeur d'entrée par carte.
man , score = map(int , input().split())
#Préparez une liste vide
li = []
#Éléments obtenus par map to list(Jumeler avec des éléments de score et de nombre d'absences)En boucle
for i in range(man):
li.append(list(map(int , input().split())))
#Index de la liste obtenue à l'aide de la fonction enumerate(Numéro d'étudiant)Obtenez des éléments de liste en même temps
#Indice de sortie par branchement en calculant la valeur numérique dans l'élément
for num , scr in enumerate(li):
if (scr[0] - scr[1]*5) >= score:
print(num + 1)
elif ((scr[0] - scr[1]*5) < score) and score == 0:
print(num + 1)
Recommended Posts