为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

蛊毒传说 2022-04-23 16:51:22
我正在尝试创建一个 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"任何帮助都是好帮助
查看完整描述

2 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

使用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)  


查看完整回答
反对 回复 2022-04-23
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您应该首先获取条目中的值,然后将其转换为整数。


def spam():

  entry_val = e1.get()

  for i in range(int(entry_val)):

    print(i)


查看完整回答
反对 回复 2022-04-23
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信