【发布时间】:2016-12-02 22:06:44
【问题描述】:
我编写了这样的代码,但我遇到了问题......
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()
【问题讨论】:
-
通过字符串建表难度很大,不如试试TkInter这样的python GUI
-
使用
str.format。它可以为您处理间距。 -
有很多可用的库可以漂亮地打印表格数据。
-
@polku 我同意,很多人使用矩阵,所以这将是最简单的选择。
标签: python python-3.x