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))
Explanation / Answer
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 maxvalRelated Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.