gpt4 book ai didi

python - 类型错误 : not all arguments converted during string formatting 11

转载 作者:太空宇宙 更新时间:2023-11-04 10:28:10 25 4
gpt4 key购买 nike

def main():
spiral = open('spiral.txt', 'r') # open input text file
dim = spiral.readline() # read first line of text
print(dim)
if (dim % 2 == 0): # check to see if even
dim += 1 # make odd

我知道这可能非常明显,但我无法弄清楚发生了什么。我正在读取一个只有一个数字的文件并检查它是否是偶数。我知道它被正确读取,因为当我调用它打印 dim 时它打印出 10。但随后它说:

TypeError: not all arguments converted during string formatting

对于我正在测试的线,看 dim 是否均匀。我确定这是基本的,但我无法弄清楚。

最佳答案

文件对象的readline方法总是返回一个字符串;它不会为您将数字转换为整数。您需要明确地执行此操作:

dim = int(spiral.readline())

否则,dim 将是一个字符串,并且执行 dim % 2 将导致 Python 尝试使用 2 作为参数执行字符串格式化:

>>> '10' % 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting
>>>

此外,print(dim) 输出的是 10 而不是 '10' 因为 print 会自动删除打印时撇号:

>>> print('10')
10
>>>

关于python - 类型错误 : not all arguments converted during string formatting 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28247665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com