Как удалить элемент из списка, который не был выбран random.choice - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь, чтобы этот скрипт выбрал случайное значение из списка «мстители» и «злодеи».Я сделал это, и я выбрал случайное значение между теми, которые будут считаться победителем.Я пытаюсь сделать так, чтобы победитель остался в списке, а проигравший был удален из списка.(Например: если «selectedAvenger» выигрывает, «selectedVillian» будет удален из списка «villians», и наоборот. (Небольшой проект для класса программирования)

import random # imports the random module

avengers = ['Thor', 'Iron Man', 'Spiderman', 'Hulk', 'Falcon', 'Black Widow', 'Antman', 'Captain America']
verb = ['smashed', 'kicked', 'slapped', 'bonked']
villian = []
# these are the lists that the script will use

for i in range(8):
    villian.append(input('Enter villian number ' + str(i + 1))) # asks user to list 8 villians

print('Welcome to Avengers: End of Line!') # welcomes the user
input('Press "Enter" to continue.') # asks the user to press the enter key to continue the script

selectedAvenger = random.choice(avengers) # selects a random avenger
selectedVillian = random.choice(villian) # selects a random villian
selectedVerb = random.choice(verb) # selects a random verb

winner = random.choice([selectedAvenger, selectedVillian])


print(winner)

Ответы [ 2 ]

0 голосов
/ 07 мая 2019
import random # imports the random module

avengers = ['Thor', 'Iron Man', 'Spiderman', 'Hulk', 'Falcon', 'Black Widow', 'Antman', 'Captain America']
verb = ['smashed', 'kicked', 'slapped', 'bonked']
villian = []
# these are the lists that the script will use

for i in range(8):
    villian.append(input('Enter villian number ' + str(i + 1))) # asks user to list 8 villians

print('Welcome to Avengers: End of Line!') # welcomes the user
input('Press "Enter" to continue.') # asks the user to press the enter key to continue the script

selectedAvenger = random.choice(avengers) # selects a random avenger
selectedVillian = random.choice(villian) # selects a random villian
selectedVerb = random.choice(verb) # selects a random verb

print([selectedAvenger, selectedVillian])
listPossibleChoice = [selectedAvenger, selectedVillian]

winner = random.choice([selectedAvenger, selectedVillian])
print(winner)

heroOrVillain = listPossibleChoice.index(winner) #if the index is 0, we delete from avengers, if it is 1, we delete from villains.
print(heroOrVillain)

if (heroOrVillain==0):
    avengers.remove(selectedAvenger)
    print(avengers)

else:
    villian.remove(selectedVillian)
    print(villian)

Я считаю, что это должно распечатать результат, который вы хотите. Вот вывод в моей консоли:

console

0 голосов
/ 07 мая 2019

Полагаю, у вас есть список населенных злодеев? Я думаю, что, возможно, я не правильно понял ваш вопрос, но вот решение, насколько я понимаю.

if winner == selectedAvenger:
    villian.remove(selectedVillian)
else:
    avengers.removed(selectedAvenger)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...