如何从Python中的另一个函数调用int()函数?

时间:2017-07-10 15:57:45

标签: python

以下是我的代码:

   class MyClass:
        "This is my second class"
        a=["1224","2334","3445"]
        b=int(input("Enter the PIN number"))
        entries={1224:"X",2334:"Y",3445:"Z"}
        def check(self,int):
                    che=False
                    for c in range(0,3):
                            if (m.b==int(m.a[c])):
                                che=True
                                break
                            else:
                                che=False
                    print(che)               
        def func(int):
                    print('Hello',entries[b])
    m=MyClass()
    m.check(m.b)

每当我尝试从方法内部将String转换为整数时,我得到TypeError:

Enter the PIN number1224
   Traceback (most recent call last):
  File "MyClass.py", line 18, in <module>
          m.check(m.b)
  File "MyClass.py", line 9, in check
         if (m.b==int(m.a[c])):
TypeError: 'int' object is not callable

1 个答案:

答案 0 :(得分:1)

夫妻俩。

  1. 我无法完全重现您的错误,但我没有得到正确的输出,请参阅第2部分了解如何获得正确的输出
  2. 为什么要将输入转换为整数,因为目前您的列表中包含字符串,因此您希望将输入保持为字符串。
  3. 通常在您的检查方法中,将其设为self.aself.b,因为这意味着该类可以被命名为任何内容,而目前如果您的类没有被命名为m,则会导致问题/ LI>

    编辑:同样在你的for循环中,在第一个if语句中添加一个中断后将che设置为true,否则它将继续运行for循环并可能设置{{ 1}}使其成为真后回到假