I need help with python coding. I have my code written out, I just need the user
ID: 3706692 • Letter: I
Question
I need help with python coding. I have my code written out, I just need the user to be prompted to enter the number of students. I can not figure out how to make it so that its not only bound to 2 students, there needs to be the option for it to be a list of the amount of students that are entered. Here is my code.
def inputGrades(number_of_students):
# This is 2D list
grade_list = []
# Iterate loop for number of students
for i in range(number_of_students):
lst = []
# Ask user to enter 6-digit number
student_number = int(input('Enter 6-digit student number for student ' + str(i + 1) + ': '))
# If number is not 6 digit, keep asking user to enter a valid value
while (student_number < 100000 or student_number > 999999):
student_number = int(input('Enter 6-digit student number for student ' + str(i + 1) + ': '))
# Append student number to lst
lst.append(student_number)
# Iterate loop for 10 assignment scores
# Add scores to lst
for i in range(1, 11):
g = float(input('Enter grade for assignment ' + str(i) + ': '))
lst.append(g)
# Add this lst to grade_list
grade_list.append(lst)
print()
# Return lst
return grade_list
def printLlist(grade_list):
# For each grade in grade_list
# Print student number
for grade in grade_list:
print("%-8d" % (grade[0]), end="")
# For 10 assignments, print scores
for i in range(1, len(grade)):
print("%-7.2f" % (grade[i]), end="")
print()
def minimum_value(grade_list):
min_list = []
# For number of assignments
for col in range(1, 11):
# Set minvalue to be score of first student
minval = grade_list[0][col]
# Iterate loop for each row in grade_list
for row in range(0, len(grade_list)):
# If minval > grade_list[row][col]
# Set minval = grade_list[row][col]
if minval > grade_list[row][col]:
minval = grade_list[row][col]
# Add this minval to min_list
min_list.append(minval)
# Return min_list
return min_list
def maximum_value(grade_list):
max_list = []
# For number of assignments
for col in range(1, 11):
# Set maxvalue to be score of first student
maxval = grade_list[0][col]
# Iterate loop for each row in grade_list
for row in range(0, len(grade_list)):
# If maxval > grade_list[row][col]
# Set maxval = grade_list[row][col]
if maxval < grade_list[row][col]:
maxval = grade_list[row][col]
# Add this maxval to min_list
max_list.append(maxval)
return max_list
def totalScore(grade_list):
total_list=[]
total =0
# For each row in list
for row in range(0, len(grade_list)):
# For each column in each row
# Add value to total
# Append total to total_lsit
for col in range(1,len(grade_list[row])):
total+=grade_list[row][col]
total_list.append(total)
total = 0
return total_list
if __name__ == '__main__':
grade_list = inputGrades(2)
print('Student Numbers and scores:')
printLlist(grade_list)
print()
print('Minimum scores:',minimum_value(grade_list))
print('Maximum scores:',maximum_value(grade_list))
print('Total: ',totalScore(grade_list))