【发布时间】:2021-06-15 11:32:37
【问题描述】:
当我们运行这段代码时,就会出现上面提到的错误。过去几个小时我们一直在努力,但似乎没有任何效果。
谁能指出我们正确的方向。
import math
myList=[]
with open("data_2.txt") as f:
for line in f:
myList.append(tuple(line.rstrip().split()))
dic = {}
for index, ele in enumerate(myList):
key=index+1
val_2=float(ele[1])
val_3=float(ele[2])
dic.update({key: (ele[0],val_2,val_3)})
for i in range(len(dic)):
power= 5//(val_2)
P=pow(0.5,power)
cal_grams=val_3*P
if cal_grams<100:
outfile = open("Element_Shortage_List.txt", "w")
outfile.write(ele+ " " + float(cal_grams) + "\n")
outfile.close()
【问题讨论】:
-
您还需要至少显示一部分
data_2.txt- 否则很难提供帮助。 -
我不知道文件的内容,但尝试替换这一行:outfile.write(str(ele)+ " " + float(cal_grams) + "\n")
-
ele是一个元组,你认为(1,1) + "string"会做什么? -
myList是一个元组列表。在for循环中,您将此类元组放入ele中。所以,在你写ele+ " "的地方,你连接了一个元组和一个用空格填充的字符串。因此错误。阅读回溯,不仅仅是消息,它会明确地告诉你发生了什么。 -
谢谢大家。现在当我们执行 outfile.write(str(ele)+ " "+str(cal_grams)+"\n")
标签: python tuples typeerror writetofile