首页 > 解决方案 > 从 Tkinter,我如何将字符串转换为整数以用于潜在的随机密码生成器

问题描述

所以我想创建一个GUI,它会在其中创建一个随机密码。在输入框中输入的数字将决定密码的位数。示例:数字 12 将是 12 位密码。我无法将数字转换为整数值,然后我可以将其用于随机密码功能。“生成”功能无法生成随机密码,我不知道为什么。

这是代码

import random
import string
import tkinter

root = tkinter.Tk()

root.title('Random Password generator')
root.geometry("200x200")

def generatepassword():
    password =''
    for a in range(num):
        a = random.randint(1, 50)
        password += string.printable[a]
    return password


def generate():
    new_number = Entry1.get()
    generate_text = tkinter.Label(root, text="Password is: " + generatepassword(new_number))
    generate_text.pack()


Message = tkinter.Label(root, text="Enter an number:").pack()

Entry1 = tkinter.Entry(root, font="calibra")
Entry1.pack()

Button = tkinter.Button(root, height=1, width=6, text='Submit', command=generate).pack()

root.mainloop()

标签: pythontkinter

解决方案


Entry1.get() 方法将始终返回一个字符串。如果您想将其用作整数或浮点数,则需要在执行此操作之前对其进行转换。内置的int()函数是您的选择之一。

  new_number = int(Entry1.get())

推荐阅读