Как удалить переменную из списка? - PullRequest
0 голосов
/ 24 марта 2019

Я составил список в самом начале, состоящий из целых чисел 0, 1 и 2. Если выбор пользователем номера не совпадает с выбором ПК, я хочу, чтобы ПК и номер пользователя были удалены из исходного списка. К сожалению, я не смог этого сделать, так как Python возвращает мне неправильный список. Даже если компьютер выбрал «1», он не будет удален из списка.

Как я могу вернуть измененный список только с номером, не выбранным пользователем или компьютером?

import random
while True:
    list_of_numbers = [0,1,2]
    chosen_number_user = input("Please choose a number between 0-2")
    int(chosen_number_user)
    chosen_number_PC = random.choice(list_of_numbers)


    if int(chosen_number_user) == int(chosen_number_PC):
        print ("You have chosen the correct number!")
        break
    elif chosen_number_user != chosen_number_PC:
            for chosen_number_PC in list_of_numbers:
                list_of_numbers.remove(chosen_number_PC)
                print(list_of_numbers)
            for chosen_number_user in list_of_numbers:
                list_of_numbers.remove(chosen_number_user)
            print(list_of_numbers)
            break


    else:
        print ("Something has gone wrong")

Скажем, я выбрал номер 2, а компьютер выбрал номер 1. Затем я ожидал, что list_of_numbers будет содержать только 0. Однако список полностью пуст.

1 Ответ

0 голосов
/ 24 марта 2019

Вы забыли преобразовать selected_number_PC в int:

list_of_numbers.remove(int(chosen_number_PC))

Вы также можете использовать:

del list_of_numbers[int(chosen_number_PC)]
...