Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 7, 2016 23:43:55

dimq130
Зарегистрирован: 2016-09-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание переменных

Как создать переменную исходя от числа?
Например нужно ввести количество чего либо.
Затем исходя от введенной цифры создается это же количество переменных.

Офлайн

#2 Сен. 8, 2016 03:47:41

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Создание переменных

Ввести количество можно при помощи input:

 num=input('Enter the number of vars:')

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

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

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

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

Отредактировано scidam (Сен. 8, 2016 04:01:48)

Офлайн

#3 Сен. 19, 2016 20:37:53

dimq130
Зарегистрирован: 2016-09-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Создание переменных

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

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

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

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

Отредактировано dimq130 (Сен. 19, 2016 20:38:55)

Офлайн

#4 Сен. 20, 2016 02:59:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Создание переменных

dimq130
Затем исходя от введенной цифры создается это же количество переменных.
Вообще, надо список просто создать. Если имена нужны, можешь словарь создать.



Офлайн

#5 Сен. 20, 2016 03:08:01

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Создание переменных

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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version