微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

需要的故障排除:TypeError: can only concatenate tuple (not "str") to tuple

如何解决需要的故障排除:TypeError: can only concatenate tuple (not "str") to tuple

当我们运行这段代码时,就会出现上面提到的错误。在过去的几个小时里,我们一直在努力解决这个问题,但似乎没有任何效果

有人可以为我们指明正确的方向。

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()

解决方法

正如错误消息告诉您的那样,您将一个元组与一个字符串连接起来。

如果您真的想将以下行写入您的文件,请使用字符串格式:

然后这一行:

outfile.write(ele+ "   " + float(cal_grams) + "\n")

成为

outfile.write(f"{ele}   {float(cal_grams)}\n")

有关 f 字符串的更多详细信息:https://www.python.org/dev/peps/pep-0498/

,

感谢大家,尤其是 Menno Holscher。

它终于在我们这样做时读取

outfile.write(str(ele)+ "  "+str(cal_grams)+"\n")
,

错误告诉您:您不能添加元组和 str 类型,因此将元组转换为 str。像这样。

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(
                str(ele) + "   " + str(float(cal_grams)) + "\n")
                outfile.close()

如果你在 python3 上,你应该检查 f 字符串。 这很简单。一个例子是:

outfile.write(f"{ele}    {float(cal_grams)}\n")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?