Я пытаюсь создать программу, в которой пользователь вводит определенное количество учеников, их имена и результаты тестов, и программа должна напечатать второй наименьший балл и имя студента. Я новичок в python и я не изучал коллекции, такие как списки и словарь, поэтому, пожалуйста, будьте проще с циклами if, else и while. Ниже приведен код, который у меня есть, который печатает второе по величине число вместо второго по наименьшему.
n= int(input("Enter number of students:"))
low_name= ','
low_name_2= ','
low_score= 0
low_score_2= 0
for i in range(n):
name= input("Please enter student" + str(i+1) + "name:\n")
score= int(input("Please enter student" + str(i+1) + "score:\n"))
while score < 0 or score > 100:
print("Please enter score in range of 0-100")
score= int(input("Please enter student" + str(i+1) + "score:\n"))
if score > low_score:
low_name_2 = low_name
low_score_2 = low_score
low_name = name
low_score = score
elif score > low_score_2:
low_score_2 = score
low_name_2 = name
print("2nd lowest student is ", low_name_2 , " with score ", str(low_score_2))