首页 > 解决方案 > 来自编号列表的用户输入并返回列表

问题描述

我有这个程序,它读取并显示一个列表,用逗号分隔。我也为每个列表编号。我要求用户从该列表中选择一个数字。从他们选择的数字中,我试图返回与之相关的实际列表值。由于某种原因,我无法仅返回列表值。

因此,如果我选择“2”(整数)作为输入,它应该返回客户。

到目前为止,这是我的代码:

list1 = ['ID', 'Customers', 'Employees', 'Orders']

def display(list1):
    counter = 0
    record = []
    for tables in list1:
        counter += 1
        record.append(tables)
        print("%s. %s" % (counter, tables))
    return record

def get_list(record):
    print("\nPick a number:")
    choose = input()
    choose = int(choose)

    x = []
    if choose in record:
        x.append(record)
        print(x)

record = display(list1)
get_list(record)

标签: pythonlistinput

解决方案


你可以dict改用。

list1 = ['ID', 'Customers', 'Employees', 'Orders']

def display(list1):
    counter = 0
    record = {}
    for tables in list1:
        counter += 1
        record[counter] = tables
        print("%s. %s" % (counter, tables))
    return record

def get_list(record):
    print("\nPick a number:")
    choose = input()
    choose = int(choose)

    if choose in record:        
        print(record[choose])

record = display(list1)
get_list(record)

输出:

1. ID
2. Customers
3. Employees
4. Orders

Pick a number:
2
Customers

您的record变量将如下所示:

{1: 'ID', 2: 'Customers', 3: 'Employees', 4: 'Orders'}

推荐阅读