gpt4 book ai didi

python - 拆分将字符串转换为整数时出现TypeError

转载 作者:行者123 更新时间:2023-11-28 21:51:06 25 4
gpt4 key购买 nike

我从文件中读取一行,每行包含一组特定的数字。我的问题是输入来自字符串行,然后我需要将其作为整数处理,转换为 usually suggested .尽管我查看了关于此问题的先前帖子,但可能是因为我正在使用结构和拆分,这可能是转换无法正常工作的原因。

这里弹出这个错误:

TypeError: not all arguments converted during string formatting
SyntaxError: invalid syntax

这是我迄今为止完成的代码的快照:

class Data:
value1 = 0
max = 10

class Process:
value = None
def __init__(self):
self.input = Data()
def __del__(self):
self.input

def getValue(self,line):
counter=0
for word in line.split():
if counter == 0:
self.input.value1=(int)word

for number in self.input.max:
if (number % self.input.value1 ==0):
print(number)

def readingFile(self):
file = open(filename, "r")
for line in file:
self.getValue(line)

有什么建议可能会丢失吗?我在 Linux Python 3 上运行,使用命令行进行编译。

最佳答案

无效语法来自-

self.input.value1=(int)word

在 python 中,强制转换与在 C/C++/Java 中不同,您必须使用 datatype(variable) 而不是使用 (datetype)variable ,尽管这仅适用于原始数据类型。对于其他数据类型,您不需要转换,因为 python 是一种动态类型的语言。

你应该使用 -

self.input.value1 = int(word)

编辑:

对于 OP 收到的新错误 -

{{ for number in self.input.max: }} >> TypeError: 'int' object is not iterable. 

您不能遍历 int 对象,就像错误指示的那样,对我来说它看起来既像 self.input.value1 又像 self.input。 max 是单个整数,所以你可能想要做 -

if self.input.max % self.input.value1 == 0:
print(self.input.max)

关于python - 拆分将字符串转换为整数时出现TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30908567/

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