Как удалить элемент из списка, не добавляя элементы в новй список?
Как удалить элемент из списка names, не добавляя элементы в новый список? При удалении через remove, длина списка уменьшается и цикл перестает правильно работать.
from random import randint
players = 10
names = ['urmatik', 'beksich', 'aziretich', 'businesswman', 'erjanchik', 'ataichik', 'rasulchik',
'rusik', 'sanjarchik', 'saidchik']
w_names = []
dict1 = {}
list1 = []
i = 0
def twenty_one(names, players: int):
i = 0
while i < players:
print(f'Играет {names[i]}')
two_cards = randint(2, 11) + randint(2, 11)
print(two_cards)
check = input('One more? да/нет')
while check == 'да':
two_cards = two_cards + randint(2, 11)
print(two_cards)
if two_cards > 21:
break
check = input('One more? да/нет')
if two_cards > 21:
two_cards = 0
if two_cards > 0:
w_names.append(names[i])
list1.append(two_cards)
Ответы (1 шт):
Автор решения: mr.polden2010
→ Ссылка
можно перестроить список names - добавить поле со статусом игрока, например так:
names = [[n, 1] for n in names]
тогда имя игрока нужно опрашивать например так:
print(f'Играет {names[i][0]}')
добавить проверку статуса так:
if names[i][1]==1:
отключить игрока от раздачи так:
names[i][1]=0