gpt4 book ai didi

python - 无法连接 'str' 和 'int' 对象,但我可以通过我自己的 IDLE 正常运行它?

转载 作者:太空狗 更新时间:2023-10-30 02:29:22 24 4
gpt4 key购买 nike

我在 Python 2.7.10 上运行,代码如下:

import sys

with open(sys.argv[1], 'r') as input:
test_cases = input.read().strip().splitlines()

for test in test_cases:
orig_number = test
iteration = 0
while True:
if str(orig_number) == str(orig_number)[::-1]:
print iteration, orig_number
break
iteration += 1
orig_number = orig_number + int(str(orig_number)[::-1])

它会顺利运行,但在 Python 2.7.3 的 Code Eval 上运行它会不断返回

cannot concatenate 'str' and 'int' objects

在最后一行,但我不明白为什么它会返回它,因为这两个部分似乎都是一个 int。

最佳答案

我不确定它在哪里工作,但显然 orig_number 不是 int 。当您从文件中读取内容,然后对其执行 strip()/splitlines() 时,您会得到一个字符串列表。

因此,在for循环中,test是一个字符串,因此orig_number也是一个字符串。

您不需要将它们显式转换为 str,您应该在尝试添加之前将 orig_number 转换为 int,然后转换它们返回到 str 以保存在 orig_number 中。示例:

import sys

with open(sys.argv[1], 'r') as input:
test_cases = input.read().strip().splitlines()

for orig_number in test_cases:
iteration = 0
while True:
if orig_number == orig_number[::-1]:
print iteration, orig_number
break
iteration += 1
orig_number = str(int(orig_number) + int(orig_number[::-1]))

关于python - 无法连接 'str' 和 'int' 对象,但我可以通过我自己的 IDLE 正常运行它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807745/

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