我如何剥离一条新线?

它只捕捉名字与平均值的比较,我需要去掉新行。
你能帮忙吗?

选择 | 换行 | 行号
  1. scores = []
  2. names = []
  3. infile = open("bowlingscores.txt", "r")
  4. for i, line in enumerate(infile):
  5.     if i % 2 == 1:
  6.         scores.append(int(line))
  7.     else:
  8.         names.append(line)
  9. average = float(sum(scores) / len(scores))
  10. print (names)
  11. print (scores)
  12. outfile = open("bowlingaverages.txt", "w")
  13. for s in zip(names, scores):
  14.     if scores > average:
  15.         scores = "above average"
  16.     elif scores < average:
  17.         scores = "below average"
  18.     else:
  19.         scores = "perfect"
  20. outfile.write("%s" % names)
  21. outfile.write("%s" % scores)
  22.  
  23.  
# 回答1


字符串方法
条带()
去掉前导空格和尾随空格,如换行符。

选择 | 换行 | 行号
  1. >>> 
  2. >>> line = "123456\n"
  3. >>> line.strip()
  4. '123456'
  5. >>> 
# 回答2


它会在我的代码中放到哪里呢?
另外,我如何让它每次都通过我的循环?它只有一次通过。
# 回答3


以下是我是如何改变它的:

选择 | 换行 | 行号
  1. scores = []
  2. names = []
  3. averagescore = []
  4. infile = open("bowlingscores.txt", "r")
  5. for i, line in enumerate(infile):
  6.     if i % 2 == 1:
  7.         scores.append(int(line))
  8.     else:
  9.         names.append(line)
  10. average = float(sum(scores) / len(scores))
  11. print(average)
  12. print (names)
  13. print (scores)
  14. outfile = open("averages.txt", "w")
  15. scores = str(scores)
  16. for score in (scores):
  17.     if score > average:
  18.         averagescore.append("above average")
  19.     elif score < average:
  20.         averagescore.append("below average")
  21.     else:
  22.         averagescore.append("perfect")
  23. for s in zip(names, averagescore):
  24.     outfile.write(s)
  25.  

在显示outfile.write(S)的行中,它一直给我这个错误:
TypeError:参数%1必须是字符串或只读字符缓冲区,而不是元组

# 回答4


它应该是:

选择 | 换行 | 行号
  1. for tup in zip(names, averagescore):
  2.     outfile.write(" ".join(tup))

标签: python

添加新评论