首页 > 解决方案 > 如何将多个输入循环到字典文件 Wirth Python 中?

问题描述

我的目标是在一个循环中获取两个用户输入,将它们保存在字典中,当用户结束循环时,保存字典。

# ------ Global Variables -------

user_cont = True

# ------- Functions -------

def get_Product():
    while user_cont:

        # get product code
        get_ProductCode()

        # get product number
        get_ProductNum()

        # save to dict
        create_ProductDict()

        # ask to continue
        user_continue()

        # save dict to file

def get_ProductCode():作品

def get_ProductNum():作品

def user_continue():工作,但现在没有得到提示

我目前正在尝试解决的问题:

# save to dictionary
def create_ProductDict(): 
   product_Dict = {}
   productCode = get_ProductCode()
   productNum = get_ProductNum()
   print(product_Dict)

根据我对每个循环的理解,它应该接收返回的 productCode 和 productNum 并存储它们?但现在它不会要求用户继续并结束循环,因此我可以在尝试让用户保存字典之前查看字典。

此外,我需要让用户为数据选择一个文件名。

一如既往,非常感谢您的帮助!

标签: pythonloopsdictionaryinputsave

解决方案


这是我完成的主要功能,上面的一切都为我指明了我需要的方向,但无法完全回答我的问题。我的主要发现是在我要求继续之前更新字典,然后在最后添加字典的保存。(此处未包含的附加功能与问题/解决方案无关。谢谢!

    user_cont = True
    while user_cont:

        # get product code
        productCode = get_ProductCode()

        # get product number
        productNum = get_ProductNum()

        # print(productCode, productNum)

        # save to dict
        products[productCode] = productNum

        # debug to ensure dictionary was saving multi lines
        # print(products)

        # ask to continue
        user_cont = user_continue()

    for productCode, productNum in products.items():
        formproducts = (productCode + ", " + productNum)

        # print test
        # print(formproducts)

    # save dict to file
    FILENAME = input(str("Please enter a file name: "))
    file = open(FILENAME, "w")
    file.write( str(products) )
    file.close()
    print("File saved.")

推荐阅读