它只捕捉名字与平均值的比较,我需要去掉新行。
你能帮忙吗?
- scores = []
- names = []
- infile = open("bowlingscores.txt", "r")
- for i, line in enumerate(infile):
- if i % 2 == 1:
- scores.append(int(line))
- else:
- names.append(line)
- average = float(sum(scores) / len(scores))
- print (names)
- print (scores)
- outfile = open("bowlingaverages.txt", "w")
- for s in zip(names, scores):
- if scores > average:
- scores = "above average"
- elif scores < average:
- scores = "below average"
- else:
- scores = "perfect"
- outfile.write("%s" % names)
- outfile.write("%s" % scores)
-
-
# 回答1
字符串方法
条带()
去掉前导空格和尾随空格,如换行符。
- >>>
- >>> line = "123456\n"
- >>> line.strip()
- '123456'
- >>>
# 回答2
它会在我的代码中放到哪里呢?
另外,我如何让它每次都通过我的循环?它只有一次通过。
# 回答3
以下是我是如何改变它的:
- scores = []
- names = []
- averagescore = []
- infile = open("bowlingscores.txt", "r")
- for i, line in enumerate(infile):
- if i % 2 == 1:
- scores.append(int(line))
- else:
- names.append(line)
- average = float(sum(scores) / len(scores))
- print(average)
- print (names)
- print (scores)
- outfile = open("averages.txt", "w")
- scores = str(scores)
- for score in (scores):
- if score > average:
- averagescore.append("above average")
- elif score < average:
- averagescore.append("below average")
- else:
- averagescore.append("perfect")
- for s in zip(names, averagescore):
- outfile.write(s)
-
在显示outfile.write(S)的行中,它一直给我这个错误:
TypeError:参数%1必须是字符串或只读字符缓冲区,而不是元组
# 回答4
它应该是:
- for tup in zip(names, averagescore):
- outfile.write(" ".join(tup))