Найти - Пользователи
Полная версия: Первый код. Помогите!
Начало » Python для новичков » Первый код. Помогите!
1
EvgenZh
Нигде не смог найти полного описания синтаксиса Питона, прошу помочь:

Есть переменные типа
box1
box2
box3
box4
box5
и так далее, вплоть до box100

есть генератор случайных цифр который присваивает значение от 1 до 100 переменной X

теперь мне нужно чтобы некое значение Y присваивалось переменной box_x

т.е., если генератор случайных чисел присваивает x = 4,
то для box4 присваивается Y
если x = 99, то box99 = Y и так далее

Собственно, прошу подсказать синтаксис для связки “box” и “x” чтобы питон понял что я от него хочу?
Rodegast
Не надо делать 100 переменных. Сделай словарь и складывай туда значения по мере надобности.
EvgenZh
Rodegast
Не надо делать 100 переменных. Сделай словарь и складывай туда значения по мере надобности.
Спасибо за ответ, почитаю про словари

Однако, вопрос остаётся, хотя бы из любопытства - как синтаксически описать то о чём я спрашивал. Это вообще возможно?
Rodegast
Возможно всё. Вот тебе промер того как делать не надо:
 globals().update({"box%i"%x: x for x in range(100)})
EvgenZh
Rodegast
Возможно всё. Вот тебе промер того как делать не надо:

не совсем то, что надо. возможно, недостаточно точно выразил мысль…

объявлены 100 переменных box1…100

далее есть такой код внутри цикла:
z = 10
y = random.randint(1,100)
box_y = box_y + z // тут не правильно, я знаю. Случайная переменная box_ должна увеличиваться на 10

Вопрос не в том как элегантно и правильно кодом выразить алгоритм
а именно в синтаксисе связки имени переменной box1, где цифра в имени перменной будет сгенерирована и заранее неизвестна.
box+y, box_y, box&y, box(y)….. или как?

В VBA это было бы :
box & x

doza_and
EvgenZh
box&y, box(y)….. или как?
Вот так:
 box[y]
EvgenZh
Спасибо за ответ, почитаю про словари
да да почитайте.
py.user.next
EvgenZh
Есть переменные типа
box1
box2
box3
box4
box5
и так далее, вплоть до box100

есть генератор случайных цифр который присваивает значение от 1 до 100 переменной X

теперь мне нужно чтобы некое значение Y присваивалось переменной box_x

т.е., если генератор случайных чисел присваивает x = 4,
Надо тебе переучиться.
  
>>> box = [0] * 100
>>> box
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> x = 10
>>> y = 3
>>> box[x - 1] = y
>>> box
[0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> box[x - 1]
3
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB