如何以10为底的int()修复int()的无效文字?

时间:2019-07-08 00:28:06

标签: python python-3.x tkinter

使用python3.7和tkinter制作一个GUI,在这里我从2个文本框中获取输入,并使用数学公式然后将其导出。

我已经浏览了其他表格,并尝试了他们的建议,但找不到解决方法。我已经尝试过在函数内部和外部进行全局设置,在函数之前设置变量。

def retrieve_input():
    global InputValue
    global InputValue2
    global Delay
    InputValue=tasks.get()
    InputValue2=proxies.get()
    print(InputValue)
    print(InputValue2)
    Delay=3500/int(InputValue)*int(InputValue2)
    print(Delay)
retrieve_input()
Label (window, width=12, text=Delay,bg="white",fg="Pink", font="none 22 bold") .grid(row=5, column=0,sticky=W)

错误:

  File ", line 29, in retrieve_input
    Delay=3500/int(InputValue)*int(InputValue2)
ValueError: invalid literal for int() with base 10: ''

1 个答案:

答案 0 :(得分:1)

这意味着您正在将一个空字符串传递给int类构造函数。您正在有效地呼叫int('')。似乎tasks.get()proxies.get()返回空字符串。

简而言之:不要将空字符串传递给int()。

关于您留下的评论:

try:
    Delay=3500/int(InputValue)*int(InputValue2)
except ValueError:
    pass
    #Handle a case in which the input is ''