Как создать переменную исходя от числа?
Например нужно ввести количество чего либо.
Затем исходя от введенной цифры создается это же количество переменных.
num=input('Enter the number of vars:')
for k in range(num): locals()['myvar%s'%k] = None
scidamМожно по подробнее???
Создать переменные можно изменив текущее окружение (namespace):
for k in range(num): locals() = None
Посмотреть созданное можно при помощи dir() или того же locals().
Возможно, нужно добавить какую-либо предобработку в отношении num, т.к. пользователь может ввести что угодно на запрос, не только целое положительное небольшое число…
dimq130Вообще, надо список просто создать. Если имена нужны, можешь словарь создать.
Затем исходя от введенной цифры создается это же количество переменных.
Python 2.7.8 (default, Sep 30 2014, 15:34:38) [GCC] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> num=input('Enter the number of vars:') Enter the number of vars:15 >>> for k in range(num): locals()['myvar%s'%k] = None ... >>> dir() ['__builtins__', '__doc__', '__name__', '__package__', 'k', 'myvar0', 'myvar1', 'myvar10', 'myvar11', 'myvar12', 'myvar13', 'myvar14', 'myvar2', 'myvar3', 'myvar4', 'myvar5', 'myvar6', 'myvar7', 'myvar8', 'myvar9', 'num'] >>>
Python 3.4.1 (default, May 23 2014, 17:48:28) [GCC] on linux Type "help", "copyright", "credits" or "license" for more information. >>> for k in range(int(num)): locals()['myvar%s'%k] = None ... >>> dir() ['__builtins__', '__cached__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'k', 'myvar0', 'myvar1', 'myvar10', 'myvar11', 'myvar12', 'myvar13', 'myvar14', 'myvar2', 'myvar3', 'myvar4', 'myvar5', 'myvar6', 'myvar7', 'myvar8', 'myvar9', 'num'] >>>