我制作一个像这样的代码,但我有一个问题...
def arrayfunction(n):
array = [None] *n
return array
def main():
title = input("Enter A Lesson Title : ")
students = int(input("How Many Students : "))
name = arrayfunction(students)
home = arrayfunction(students)
mid = arrayfunction(students)
final = arrayfunction(students)
total = arrayfunction(students)
grade = arrayfunction(students)
for i in range(0,students,1):
print("Students Number - ",i+1,sep="")
print("Students Name : ")
name[i] = input()
print("Homework Points : ")
home[i] = int(input())
print("Mid Points : ")
mid[i] = int(input())
print("Final Points : ")
final[i] = int(input())
total[i] = (home[i]*0.3) + (mid[i]*0.3) + (final[i]*0.4)
if (total[i] >= 80):
grade[i] = "A"
elif (total[i]>=70):
grade[i] = "B"
elif (total[i]>=59):
grade[i] = "C"
elif (total[i]>=50):
grade[i] = "D"
elif (total[i]<50):
grade[i] = "E"
而是像这样制作打印输出,我想把它放到桌子上,但我不知道该怎么做,任何人都可以帮助我吗?
print ("|----------------------------------------------------------------|")
print ("| POINT LIST |")
print ("| LESSON TITLE : ",title," |",sep="")
print ("|---------------------------------------------------------------|")
print ("|No.| Name | Points | Grade |",sep="")
print ("| | Students |-------------------------------------| |",sep="")
print ("| | | Homework | Mid | Final | Totals | |",sep="")
for l in range(0,students,1):
print ("|",l+1," |",name[l]," |",sep="")
print ("| | |",home[l]," | ",mid[l]," | ",final[l]," | ",total[l]," | ",grade[l]," | ",sep="")
print ("|-----------------------------------------------------------------------------------------------|")
return None
if __name__ == '__main__':
main()
答案 0 :(得分:0)
我建议您熟悉str.format
功能。它为这种事物创造了奇迹。
print('{:^60}'.format('Point List'))
print('{:>30}{:<30}'.format('Lesson Title', title))
template = '{:<3}{:^12}{:^9}{:^9}{:^9}{:^9}{:^9}'
print(template.format('No.', 'Name', 'HW', 'Mid', 'Final','Total', 'Grade'))
for i in range(0, students):
print(template.format(i+1, name[i], home[i], mid[i], final[i], total[i], grade[i]))