拆分将字符串转换为整数时的TypeError

Dan*_*nez 2 python string integer split type-conversion

我从一个文件中读取一行,每行包含一定数量的数字.我的问题是输入来自一个字符串行,然后我需要将其作为整数处理,按照通常的建议进行转换.虽然我检查了上一篇关于这个问题的帖子,可能是因为我使用结构和拆分可能是转换不能正常工作的原因.

这里出现这个错误:

TypeError: not all arguments converted during string formatting
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所做代码的快照:

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)
Run Code Online (Sandbox Code Playgroud)

有什么可能遗漏的建议吗?我在Linux Python 3上运行,使用命令行进行编译.

Ana*_*mar 5

无效语法来自 -

self.input.value1=(int)word
Run Code Online (Sandbox Code Playgroud)

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

你应该使用 -

self.input.value1 = int(word)
Run Code Online (Sandbox Code Playgroud)

编辑:

对于OP正在获得的新错误 -

{{ for number in self.input.max: }} >> TypeError: 'int' object is not iterable. 
Run Code Online (Sandbox Code Playgroud)

你不能迭代一个int对象,正如错误所示,对我来说它看起来像是两个self.input.value1并且self.input.max是单个整数,所以你可能想做 -

if self.input.max % self.input.value1 == 0:
    print(self.input.max)
Run Code Online (Sandbox Code Playgroud)