课程帮助

嗨,我正在尝试将一个类引入下面的代码中。代码打开一个带有逗号分隔值的文件(例如:John,100)。程序会给出一个菜单1来读取文件,菜单2会向文件中添加一个新学生。3计算所有等级的平均值和极差。我被困在数字3上,它计算文本文件中数字的平均值和范围。
以下是《守则》:

选择 | 换行 | 行号
  1. import math
  2.  
  3. def main():
  4.     menu = eval(input("Select 1 to get grades, 2 to add students, or 3"))
  5.     if (menu ==1):
  6.         #print("test")
  7.  
  8.         fileName = input("Enter filename: ")
  9.         infile = open(fileName,"r")
  10.         data = infile.read()
  11.         print(data)
  12.  
  13.     if (menu ==2):
  14.         #print("test3")
  15.  
  16.  
  17.         filename1 = input("what is the file name?")
  18.  
  19.         file1 = open(filename1, "a")
  20.         file1.close()
  21.  
  22.         studentName =input("what is the student name?")
  23.         studentGrade =input("What is the student grade?")
  24.         file1 = open(filename1, "a")
  25.         file1.write(studentName + "," +studentGrade + "\n")
  26.         file1.close()
  27.  
  28.  
  29.  
  30.     if (menu ==3):
  31.         #print("test3")
  32.  
  33.         filename2 = input("what is the file name?")
  34.         infile = open(filename2,"r")
  35.         sum = 0.0
  36.         count = 0
  37.         for lines in infile:
  38.             name, grade = lines.split(",")
  39.             numbers = grade
  40.             print(numbers)
  41.  
  42.     else:
  43.         print ("Please enter a valid number")
  44.  
  45. main()
# 回答1


范围将是最高等级和最低等级。平均数应该是中间的分数。您需要键入将分数转换为整数,然后将分数编译为列表进行评估。
# 回答2


在选项2下,打开和关闭该文件两次。一次就够了。

选择 | 换行 | 行号
  1.   if (menu ==2):
  2.          #print("test3")
  3.  
  4.  
  5.          filename1 = input("what is the file name?")
  6.  
  7.          file1 = open(filename1, "a")
  8. ##         file1.close()      ## close after writing
  9.  
  10.          studentName =input("what is the student name?")
  11.          studentGrade =input("What is the student grade?")
  12. ##         file1 = open(filename1, "a")     ## already open
  13.          file1.write(studentName + "," +studentGrade + "\n")
  14.          file1.close() 

标签: python

添加新评论