Найти - Пользователи
Полная версия: Создание переменных
Начало » Python для новичков » Создание переменных
1
dimq130
Как создать переменную исходя от числа?
Например нужно ввести количество чего либо.
Затем исходя от введенной цифры создается это же количество переменных.
scidam
Ввести количество можно при помощи input:
 num=input('Enter the number of vars:')

Создать переменные можно изменив текущее окружение (namespace):

 for k in range(num): locals()['myvar%s'%k] = None

Посмотреть созданное можно при помощи dir() или того же locals().

Возможно, нужно добавить какую-либо предобработку в отношении num, т.к. пользователь может ввести что угодно на запрос, не только целое положительное небольшое число…

dimq130
scidam
Создать переменные можно изменив текущее окружение (namespace):

for k in range(num): locals() = None

Посмотреть созданное можно при помощи dir() или того же locals().

Возможно, нужно добавить какую-либо предобработку в отношении num, т.к. пользователь может ввести что угодно на запрос, не только целое положительное небольшое число…
Можно по подробнее???
Мой питон ошибку выдает!!!
py.user.next
dimq130
Затем исходя от введенной цифры создается это же количество переменных.
Вообще, надо список просто создать. Если имена нужны, можешь словарь создать.
scidam
В Python2 все работает:

 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']
>>>

В Python3 (нужно добавить конвертацию введенного числа из str в int):
 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']
>>> 
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