【问题标题】:myFile.write(item+"\n") TypeError: unsupported operand type(s) for +: 'int' and 'str'myFile.write(item+"\n") TypeError: +: 'int' and 'str' 不支持的操作数类型
【发布时间】:2016-05-11 18:06:00
【问题描述】:

得到错误:

myFile.write(item+"\n") TypeError: + 不支持的操作数类型: 'int' 和 'str'

不知道为什么。我应该在哪里添加int?这是我的代码

#comment program to create a list in a file
numberList = []
for counter in range (1,7):
    number = int(input("choose a number")) #asks user to enter 6 numbers
    numberList.append(number) #stores the numbers in a list

#writes numbers to a file
myFile = open('numbers.txt','w')
for item in numberList:
    myFile.write(item+"\n")

myFile = open('numbers.txt','rt')
contents = myFile.read()
print(contents)
numSum = sum(numberList)
print(numSum)
sumTimesSum = sum * sum
average = SumTimesSum / 6
print(average)

myFile.close()

【问题讨论】:

  • numberList 中的元素是整数 number = int(input("choose a number")) 然后是 numberList.append(number) 要修复它,请使用 myFile.write(str(item)+"\n")myFile.write('{item}\n'.format(item=item))
  • myFile.write(str(item) + "\n") 应该修复它

标签: python list file int sum


【解决方案1】:

我认为您需要将item 设为字符串。

myFile.write(+str(item)+"\n")

【讨论】:

    【解决方案2】:

    numberListint 的列表,当您写入文本文件时,您必须将其转换为string,所以:

    for item in numberList:
        myFile.write(str(item)+"\n")
    

    或者不使用for循环

    s = '\n'.join(map(str, numberList))
    myFile.write(s)
    

    【讨论】:

    • @milahstott .. 如果您对其中任何一个问题感到满意,请接受最适合您的答案以结束您的问题。
    【解决方案3】:

    它实际上是在尝试添加字符串和数字(​​即1 + 2 = 3"abc" + 1 = ???)。您需要将数字转换为字符串。

    myFile.write(str(item) + "\n")
    

    您也可以使用字符串格式。

    myFile.write("%d\n" % item)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-15
      • 2012-11-29
      • 2012-12-31
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多