Как создать новый список из пользовательского ввода в Python 3? - PullRequest
0 голосов
/ 25 сентября 2018

Я пытался найти свой путь на этом и до сих пор не нашел никакого ответа.Я пытаюсь создать новый list, когда пользователю предлагается input строка.Могу ли я действительно применить команду list здесь или есть лучший способ?Просто новичок в Python.

Моя программа спросит, сколько будет инвентаризаций (например, фрукты, овощи, напитки).Затем он спросит имена из инвентарного списка.Для каждого названия инвентаря они будут содержать элементы для каждого и попросят пользователя ввести количество элементов в этом конкретном инвентаре.

Это мой код:

# MODULES
import os

# FUNCTIONS


def clear():
    os.system('cls')


def skip():
    input("<Press Enter To Continue>")


def createINV():
    clear()
    invlist = []

    countinv = int(input("Enter the number of Inventories: "))

    for x in range(countinv):
                                                                                            # ADD LISTS HERE
       # print(("Enter Inventory #%d" % (x+1)), ":")

        #typeinv = input(" :")
        addinv = input("Enter Inventory #%d: " % (x+1))
        invlist.append(addinv)
        # invlist.index(x) = []                < ------ function call so i can't assign here



        for y in range(countinv):
            countitems = int(input("\nHow many items in %s: " % invlist[y]))
            for z in range(countitems):
                additem = (input("Enter item#%d for %s Inventory: " % ((z+1), invlist[y])))
                invlist.index(x).append(additem)             # <--- this is where my program stops

            #print(invlist[x])
    #for x in range(countinv)

                                                                                            # PRINT LISTS HERE

    for x in range(countinv):
        print("\n", invlist[x])

    # for x in range(countinv):
    #     print(invlist[x])


# START - Welcome
clear()
print("Hi! Welcome to Python Inventory System.")
skip()
clear()

# START - Introduction
print("This is an Inventory System where you can input any Inventories you want and how many you want.")
print("For e.g.: You can input 3 types of Inventories such as Vegetables, Fast Foods, Drinks, etc.")
print("And you can input the prices for each item.")
skip()
clear()


# COMMENCE PROGRAM
x = 0
while x != 1:
    start = input("Are you ready to Start? (Y/N):")
    if start == 'y' or start == 'Y':
        x += 1
        createINV()

    elif start == 'n' or start == 'N':
        x += 1
        clear()

    else:
        x = 0

1 Ответ

0 голосов
/ 25 сентября 2018

Я бы посоветовал вам попробовать словари, не раскрывать полный код, чтобы заставить вашу программу работать, узнать об этом, будет полезно, если вы планируете много работать с данными.

inventories = dict() #initiate empty dictionary.

QTY = int(input("How many inventories? "))

for x in range(QTY): 
    name = input("Name of your inventory #{0}/{1} ".format(x+1, QTY)
    inventories[name] = dict()

В этом примере будут созданы ваши начальные запасы.

Вы можете использовать этот код для создания предметов в ваших запасах таким же образом.

Таким образом, ваш основной словарь будет выступать в качестве списка других словарей,которые, в свою очередь, представляют собой список ваших сохраненных элементов с любым количеством атрибутов, которые вы хотите им присвоить.

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