0

这是我的 .txt 文件包含的内容:

ECS10 A 4

ECS20 B 3

JPN4 C 5

PHY9A D 5

这是我获取每行最后一个元素的程序:

f = open("grade_file.txt", "r")

line = f.readlines()

for i in (line):

    print(i[-1:])

出于某种原因,当它打印出每一行时,每一行在到达数字之前都有一个额外的空间(最后一行除外)。

所以它在最后只打印出一个数字 5,因为最后一行没有额外的空间。如何获取最后一个元素和第三个元素来计算 GPA?

4

2 回答 2

0

在抓取最后一个元素之前从行中去除空格:

f = open("grade_file.txt", "r")
line = f.readlines()

for i in (line):
    i = i.strip()
    print(i[-1:])
于 2013-05-03T03:42:31.703 回答
0

嗯,这很有趣,因为我没有得到你的结果

 x='PHY9A D 5'
 >>>> x
  'PHY9A D 5'

我个人不明白如何通过阅读行来获得除字符串之外的任何内容如果我正在编写此代码,我将执行以下操作

my_lines = open(r'c:\myfile.txt').readlines()

sum_of_grades = 0

for number_of_courses, line in enumerate(my_lines):
    course, grade, value_for_gpa = line.split()
    sum_of_grades += int(value_for_gpa)

gpa = sum_of_grades/float(number_of_courses)
于 2013-05-03T03:57:43.567 回答