1. ホーム
  2. python

[解決済み] "TypeError: int() 引数は 'NoneType' ではなく、文字列、バイト型オブジェクト、または数値でなければならない" を修正する方法

2022-02-06 14:34:15

質問

私は、.txtファイルを持つディレクトリをスパムするpythonファイルを作成しようとしています。

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"

どんなことでもご相談ください。

解決方法は?

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