2016-12-07 2 views
0
channel_total_list = [] 

get_channel_entry = int(raw_input('How many channels do you want to delete? ')) 

if get_channel_entry > 0: 

    while True: 

     user_channel_number = int(re.sub('\D', '', raw_input("Enter a channel number, (3d): "))[:3]); 
     channel_total_list.append(user_channel_number) 
     get_channel_entry = get_channel_entry - 1 

     print channel_total_list 

Я пытаюсь получить номера каналов с пользовательского ввода. Если они вводят одинаковый номер во второй раз, я хотел бы попросить пользователя ввести другой номер.Заставить пользователя ввести другую цифру

Как я могу это достичь?

ответ

1

Поскольку вы добавляете ввод пользователя в channel_total_list, вы можете проверить, есть ли вход в списке с if user_channel_number in channel_total_list.

0

Вам просто нужно добавить утверждение if в середине, и вам хорошо идти. Вот некоторые измененные коды для вас: «Пока» не работал в предыдущем случае, поскольку он собирался до бесконечности.

channel_total_list = [] 
get_channel_entry = int(raw_input('How many channels do you want to delete? ')) 
leave = False 
while not leave: 
    user_channel_number = int(re.sub('\D', '', raw_input("Enter a channel number, (3d): "))[:3]) 
    if user_channel_number not in channel_total_list: 
     channel_total_list.append(user_channel_number) 
     get_channel_entry = get_channel_entry - 1 
     if get_channel_entry == 0: 
      leave = True 
    print channel_total_list 
Смежные вопросы