Как определить список в функции с именем входа? - PullRequest
0 голосов
/ 01 ноября 2019

Я определяю функцию, которая создает список с входными значениями. У меня есть 2 вопроса:

  1. Как определить имя списка (n) из ввода?
  2. Как преобразовать числовые элементы в тип с плавающей запятой?

n = имя списка из входных данных

Я пытался присвоить список n, но после запуска функции при записи имени списка она выдала мне NameError.

Что касается 2-й проблемы, я пытался превратить ввод в число с плавающей точкой, но он не работал, и числовые элементы списка все еще были строками.

def createlist():
    n=input("What's the list's name?"+'\n')
    a=input("Insert the list items"+'\n')
    l=[a]
    while a!='':
        b=input('\n')
        m=[b]
        l=l+m
        a=b
    l=l[:-1]
    print(n,'=',l)
    n=l

createlist()

n='List'

List = ['banana', 'apple', 'peach', '4.33', '56.243']

List

NameError: name 'List'не определено

Я ожидаю, что выводом List будет созданный список, но на самом деле он дает мне NameError. При записи числа в качестве элемента оно попадает в список в виде строки, а не целого числа.

Мне нужна помощь. Спасибо.

1 Ответ

0 голосов
/ 01 ноября 2019
  1. Я думаю, вы ищете что-то вроде exec.
  2. Вы можете просто выполнить итерацию и попытаться преобразовать в число с плавающей точкой.

exec фактически запустит ваш код:

name = input()

, поэтому:

name = "LISTNAME" # after user input

exec(name + "=[]")

создаст новую переменную в виде списка с именем LISTNAME

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...