Python 缺少位置参数“;普华伦;在tkinter中生成密码时

Python 缺少位置参数“;普华伦;在tkinter中生成密码时,python,tkinter,Python,Tkinter,我希望使用tkinter在新窗口(按下按钮时)生成密码,代码如下: import math, random, os, string, tkinter, tkinter as tk def generate_password(pass_len): symbols = "!$%^&*()-_=+QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm" genpw = ''.join([symbols[ma

我希望使用tkinter在新窗口(按下按钮时)生成密码,代码如下:

import math, random, os, string, tkinter, tkinter as tk

def generate_password(pass_len):
    symbols = "!$%^&*()-_=+QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm"
    genpw = ''.join([symbols[math.floor(int(i) / 256 * len(symbols))] for i in os.urandom(pass_len)])    
    print(genpw)

create = tkinter.Button(root, pady=2, height=3, text = "create password", command = generate_password)
但是,我遇到了以下错误:

TypeError:generate_password()缺少1个必需的位置参数:“pass_len”


非常感谢您的帮助。

当您按下创建密码按钮时,请在没有任何参数的情况下调用您的
generate\u password
函数,您需要一个。
这里有一个简单的解决方案:

create = tkinter.Button(root, pady=2, height=3, text="create password", command= lambda: generate_password(10))

请在问题本身中提供代码、预期结果和实际结果,而不是图像的外部链接。如果您需要帮助,请参阅如何创建一个最小的、完整的和可验证的示例。@devius这更好吗?我如何进一步改进它?(谢谢你的指导)谢谢你,好先生!我发现我的查询格式有多处错误,感谢您的帮助。