猿问

如何修复“TypeError:int() 参数必须是字符串、类似字节的对象或数字

我正在尝试创建一个 python 文件,该文件将向包含 .txt 文件的目录发送垃圾邮件。


我决定开始使用 Tkinter,但是每当我尝试输入数字时,我都会收到此错误消息"TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'"


我正在使用的代码是:


from tkinter import *  


top = Tk()  


top.geometry("400x250")  


Amount = Label(top, text = "Amount").place(x = 30,y = 50)  


def spam():

    for i in range(int(e1)):

        print(i)


sbmitbtn = Button(top, text = "Submit",activebackground = "pink", activeforeground = "blue",command=spam).place(x = 30, y = 170)  


e1 = Entry(top).place(x = 80, y = 50)  




top.mainloop()  

我已经厌倦了切换到 for i in range(int(e1)):, for i in range(str(e1)): 但随后我收到错误消息:


"TypeError: 'str' object cannot be interpreted as an integer"

任何帮助都是好帮助


蛊毒传说
浏览 158回答 2
2回答

慕虎7371278

使用get()方法获取Entry的值。例子:def spam():    for i in range(int(e1.get())):        print(i)并且不要将条目放在/打包在同一行中:错误的:e1 = Entry(top).place(x = 80, y = 50)正确的:e1 = Entry(top)e1.place(x = 80, y = 50)  

慕哥9229398

您应该首先获取条目中的值,然后将其转换为整数。def spam():  entry_val = e1.get()  for i in range(int(entry_val)):    print(i)
随时随地看视频慕课网APP

相关分类

Python
我要回答