Как сделать переменную в имени которой будет число введенное пользователем с клавиатуры

Допустим у меня есть цикл

for i in range (0, 4): 
   ...

и я хочу что бы у меня образовалось несколько переменных player_, в данном случае player_0, player_1 и тд. Подскажите, пожалуйста, как это сделать.


Ответы (2 шт):

Автор решения: Max

Да, так можно сделать с помощью функции exec() и f-string но к этой переменной вы не сможете непосредственно обратиться.

Выглядит это так:

for i in range(4):
    exec(f'player_{i}={some_value}')

Но я крайне не рекомендую так делать! Пустая трата времени, сам через такое проходил, знаю.

Вот лучший способ:

создаем dict-comprenshion

players = {f'player_{i}': some_value for i in range(4)}

получаем значение игрока

player = players.get('palayer_1')
→ Ссылка
Автор решения: Salavat

Можно воспользоваться locals()

for i in range(5):
    locals()[f"player_{i}"] = i

print(player_1)
→ Ссылка