【问题标题】:TypeError, 'str' is not callable tkinter, randomTypeError,'str' 不可调用 tkinter,随机
【发布时间】:2017-11-12 10:45:05
【问题描述】:

我想制作一个随机数生成器,我用 tkinter 制作了一个 GUI,我想使用 Entries 来设置 min. numbermax. number 但我收到了这个错误:

TypeError, 'str' 不可调用它来自 "i = randint(str(min_val()), str(max_val()))"

这里是完整的功能:

def gen():
    min_val = str(entry1.get())
    max_val = str(entry2.get())

i = randint(str(min_val()), str(max_val()))
root.update_idletasks()
v.set(i)

【问题讨论】:

  • randint 函数需要整数参数。似乎您将字符串传递给 randint 函数(使用函数 str())
  • 您期望min_val()min_val 有什么不同?另外,你的代码真的是这样写的吗,最后三行not缩进到gen()内部?
  • Python 不会抛出包含短语“它来自...”的错误。您能否发布 exact 错误消息,包括回溯?
  • Tkinter 回调 Traceback 中的异常(最近一次调用最后一次):文件“C:\Users\Chris\AppData\Local\Programs\Python\Python36-32\lib\tkinter_init_ i>.py",第 1699 行,在 call 中返回 self.func(*args) 文件“C:\Users\Chris\Desktop\python\Random Number Generator.py”,第 18 行,在gen i = randint(str(min_val()), str(max_val())) TypeError: 'str' object is not callable

标签: python tkinter tkinter-entry


【解决方案1】:

您将变量名称str 分配给某处的字符串。通过这样做,您隐藏了内置的 str 可调用对象。演示:

>>> str = 'hi'
>>> str(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable

解决方案:使用更好的变量名。

【讨论】:

  • 反对票有什么用?这必须是OP获得TypeError的原因。
猜你喜欢
  • 2015-03-07
  • 2019-03-05
  • 1970-01-01
  • 1970-01-01
  • 2020-09-16
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多