#python
#python
Вопрос:
user=True
while user:
userName=input("Player Name:")
names = []
if userName in names:
print("Lets play again")
else:
print("Lets play")
names.append(userName)
вот мой код, я в основном хочу составить список имен, но если это имя уже есть, я не хочу, чтобы оно добавлялось.
Комментарии:
1. пожалуйста, отформатируйте свой код с помощью обратных меток
2. Вам нужно поддерживать порядок элементов в списке?
Ответ №1:
Используйте набор вместо списка, так как наборы не допускают дублирования значений. Вы инициализируете пустой набор как set()
, чтобы избежать путаницы с пустым dict
, и вы инициализируете набор со значениями как {"name1", "name2"}
.
names = set()
names.add("batman")
names.add("robin")
names = {"batman", "robin"}
Ответ №2:
То, что вам нужно, — это набор python, который действует как список, но допускает только уникальные элементы. Это также быстрее, если вы хотите проверить, есть ли элемент в наборе, но это выходит за рамки данного вопроса.
Вместо этого вы можете написать это:
user=True
while user:
userName=input("Player Name:")
names = set()
if userName in names:
print("Lets play again")
else:
print("Lets play")
names.add(userName)