python - 我应该如何更改代码以使其能够创建用户名?
问题描述
以下代码使用 tkinter;让用户输入他们的姓名、姓氏和出生年份。我希望程序剪切不同的变量并将它们重新组合在一起以形成用户名。我环顾四周寻找解决方案,据我所知,我已经完成了其他人所做的事情:但我的仍然无法按预期工作。
#必填代码
from tkinter import *
number = 1
Users = {}
def new_user():
#------------------------------------------------------
def enter_credentials_clicked():
global number
#---------------------------------
def make_username():
a= text1.get()
b= text2.get()
c= text3.get()
username = a[:3] + b[:3] + c[2:] + str(number)
number = number + 1
name = Label(create_user, text= make_username, font = 'Ariel 20').place(relx = 0.5, rely = 1, anchor = 'n')
#------------------------------------
create_user = Tk()
create_user.geometry('600x200')
title3 = Label(create_user, text=' create your account! ', font = 'Ariel 20').place(relx = 0.5, rely = 0.1, anchor = 'n')
message3 = Label(create_user, text='To create your unique username, please answer these few questions:', font = 'Ariel 10').place(relx = 0.5, rely = 0.3, anchor = 'n')
first = Label(create_user, text='Please type your first name:').place(relx = 0.2, rely = 0.5, anchor = 'n')
second = Label(create_user, text='Please type your surname/last name:').place(relx = 0.2, rely = 0.7, anchor = 'center')
year = Label(create_user, text='Please type your birth year:').place(relx = 0.2, rely = 0.9, anchor = 's')
text1= Entry(create_user).place(relx = 0.6, rely = 0.5, anchor = 'n')
text1 = StringVar()
text2= Entry(create_user).place(relx = 0.6, rely = 0.7, anchor = 'center')
text2 = StringVar()
text3= Entry(create_user).place(relx = 0.6, rely = 0.9, anchor = 's')
text3 = StringVar()
enter_credentials = Button(create_user, text = 'create your username!', command = enter_credentials_clicked, padx = 10 ,pady = 10).place(relx = 0.9, rely = 0.7, anchor = 'center')
create_user.mainloop()
#----------------------------------------------------------
new_user()
#edit:经过反复试验并感谢评论,我能够提出一个解决方案:
def enter_credentials_clicked():
#-------------------------------------------------------
def make_username():
global username
global number
a = text_1.get()
b = text_2.get()
c = text_3.get()
username = ( a[:3] + b[:3] + c[2:] + str(number))
number = number + 1
return username
#--------------------------------------------------------
make_username()
name = Label(create_user, text = username, font = 'Ariel 20').place(relx = 0.5, rely = 0.5, anchor = 'n')
print (username)
#--------------------------------------------------------
create_user = Tk()
create_user.geometry('600x200')
title3 = Label(create_user, text=' create your account! ', font = 'Ariel 20').place(relx = 0.5, rely = 0.1, anchor = 'n')
message3 = Label(create_user, text='To create your unique username, please answer these few questions:', font = 'Ariel 10').place(relx = 0.5, rely = 0.3, anchor = 'n')
first = Label(create_user, text='Please type your first name:').place(relx = 0.2, rely = 0.5, anchor = 'n')
second = Label(create_user, text='Please type your surname/last name:').place(relx = 0.2, rely = 0.7, anchor = 'center')
year = Label(create_user, text='Please type your birth year:').place(relx = 0.2, rely = 0.9, anchor = 's')
text_1 = StringVar()
text_2 = StringVar()
text_3 = StringVar()
text1= Entry(create_user, textvariable = text_1).place(relx = 0.6, rely = 0.5, anchor = 'n')
text2= Entry(create_user,textvariable = text_2).place(relx = 0.6, rely = 0.7, anchor = 'center')
text3= Entry(create_user,textvariable = text_3).place(relx = 0.6, rely = 0.9, anchor = 's')
enter_credentials = Button(create_user, text = 'create your username!', command = enter_credentials_clicked, padx = 10 ,pady = 10).place(relx = 0.9, rely = 0.7, anchor = 'center')
create_user.mainloop()
解决方案
推荐阅读
- wordpress - 将自定义数据保存给客户并在下一个订单中预填充值
- tensorflow - 当我使用 train_on_batch 训练模型时,如何告诉 Keras 学习阶段?
- django - 将 Django ORM 迭代放到一个请求中
- docker - Docker - 如何从私有注册表中删除图像
- reactjs - 发送一个函数onChange 函数
- angular - 打字稿布尔比较给出错误的结果
- onedrive - OneDrive 客户端状态/健康检查
- javascript - javascript中的for循环VS For Each
- android - onBackPressed 与多个片段的行为
- r - 更改日期格式时保持日期类?