我试图找出一种方法来比较用户输入和数组。如果用户输入是唯一的,并且与列表中的任何元素都不匹配,则应将输入添加到列表中。到目前为止,我所有的方法都没有奏效。下面是我最近的一次
def input_stub():
global player_num
global name_entry
global display_num
if player_num != t1_amount: ##t1_amount is the amount of elements the user wants in the list
t1_input = Toplevel(master)
final_confirm.withdraw()
title = Label(t1_input, text = "Team 1 Input").grid(row = 0, column = 1)
request = Label(t1_input, text = "Please enter player " + str(display_num) + " name").grid(row = 1, column = 1)
name_entry = Entry(t1_input)
name_entry.grid(row = 2, column = 1)
display_num = display_num + 1
valid_button = Button(t1_input, text = "Submit", command = lambda: player_valid()).grid(row = 4, column = 1)
def player_valid(): ##THIS IS WHERE USER INPUT NEEDS TO BE COMPARED
elem = len(team_1_array)
for i in range(0, elem):
p = None
while not p or p in team_1_array:
p = name_entry.get()
if p in team_1_array:
error = Label(t1_input, text = "Error").grid(row = 3, column = 1)
else:
player_num = player_num + 1
t1_validation(team_1_array) ##IF IT PASSES, IT MOVES ON TO BEING PUT ONTO THE END OF THE LIST
def t1_validation(current_team):
global player_num
global display_num
global team_1_array
global t1_confirm
current_player_trans = p
current_team.append(current_player_trans)
if player_num != t1_amount:
t1_input.destroy()
input_stub()
elif player_num == t1_amount: ##THIS DISPLAYES THE LIST ONCE THE SELECTED AMOUNT OF ELEMENTS ARE IN THE ARRAY
t1_confirm = Toplevel(master)
t1_input.withdraw()
t1_confirm.geometry("200x200")
player_count = 1
for i in range(len(team_1_array)):
exec('Label%d=Label(t1_confirm,text="%s")\nLabel%d.pack()' % (i, "Player " + str(player_count) + " : " + team_1_array[i], i))
player_count = player_count + 1
confirm_button = Button(t1_confirm, text = "Confirm Team 1", command = lambda: input_stub_2()).pack()
任何帮助都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐