![](/img/trans.png)
[英]I keep getting ValueError: invalid literal for int() with base 10: ''
[英]I keep getting this error: ValueError: invalid literal for int() with base 10: ''
我正在尝试用 tkinter 做我的第一个项目:它是一个 gui 密码生成器(我已经用 python 完成了一个非 gui 密码生成器,所以我确信生成它的代码是可以的)但我遇到了麻烦使用户的输入成为 integer 并且我不断收到此错误:
ValueError: invalid literal for int() with base 10: ''
这是代码:
import tkinter as tk
import random
root = tk.Tk()
canvas = tk.Canvas(root, width=600, height=350)
canvas.grid()
#Labels
label1 = tk.Label(root, text = "How many characters?")
label1.place(x = 30, y = 50)
label2 = tk.Label(root, text = "How many passwords?")
label2.place(x = 30, y = 100)
#Entry box
box1 = tk.Entry(width = 20)
box1.place(x = 200, y = 50)
box2 = tk.Entry(width = 20)
box2.place(x = 200, y = 100)
answer = tk.Label(root, text = "")
answer.place(x = 260, y = 200)
pass_lenght = int(box1.get())
num_pass = int(box2.get())
def password_generator():
characters = "abcdefghilmopqrstuvzxwjkyèàòìùABCDEFGHILMNOPQRSTUVZWJKYX1234567890!£$%&/()=?^*§ç°:_;€"
for x in range(0, pass_lenght):
empty_password = ""
for x in range(0, num_pass):
real_password = random.choice(caratteri)
empty_password = empty_password + real_password
print("Here's your password: ", empty_password)
#Button
button = tk.Button(root, text = "Commit", command = password_generator())
button.place(x = 260, y = 150)
root.mainloop()
.
import tkinter as tk
import random
root = tk.Tk()
canvas = tk.Canvas(root, width=600, height=350)
canvas.grid()
#Labels
label1 = tk.Label(root, text = "How many characters?")
label1.place(x = 30, y = 50)
label2 = tk.Label(root, text = "How many passwords?")
label2.place(x = 30, y = 100)
#Entry box
box1 = tk.Entry(width = 20)
box1.place(x = 200, y = 50)
box2 = tk.Entry(width = 20)
box2.place(x = 200, y = 100)
answer = tk.Label(root, text = "")
answer.place(x = 260, y = 200)
def password_generator():
pass_lenght = int(box1.get())
num_pass = int(box2.get())
characters = "abcdefghilmopqrstuvzxwjkyèàòìùABCDEFGHILMNOPQRSTUVZWJKYX1234567890!£$%&/()=?^*§ç°:_;€"
for x in range(0, pass_lenght):
empty_password = ""
for x in range(0, num_pass):
real_password = random.choice(characters)
empty_password = empty_password + real_password
print("Here's your password: ", empty_password)
#Button
button = tk.Button(root, text = "Commit", command = password_generator)
button.place(x = 260, y = 150)
root.mainloop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.