我的Python函数从用户可以输入的多种成分构建披萨不起作用,它返回空目录

问题描述 投票:0回答:1

请耐心等待,我已经完成了 n00b,我决定测试我的知识,但显然失败了。

我的 Python 函数应该通过询问尺寸和成分来构建披萨。

我不知道披萨有多少种配料。顾客可以输入任意数量的成分。

这是我的代码:

u_prisada = ""
u_velikost = ""

def bulding_pizzza(u_velikost, identification, **prisada):
    u_velikost = input("Tell me size of your pizza in cm: ")
    u_velikost = int(u_velikost)

    while True:
        identification = input("Give your ingredience a number: ")
        u_prisada = input("Tell me ingredience for your pizza: ")
        for identification. u_prisada in prisada.items():
            prisada[identification] = u_prisada
        decision = input("Do you wish to add next ingredience? Yes/No: ")
        if decision.lower() == "yes":
            continue
        else:
            return prisada
            break

u_pizza = bulding_pizzza(u_velikost, u_prisada)

print("Your pizza has these attributes: ")
for key, value in u_pizza.items():
    print(key) 
    print(value)

我还没有尝试过任何值得一提的事情,这是很容易的任务,但我被困住了。

python function while-loop
1个回答
0
投票

你有一个循环破坏了整个事情。使用字典时,不需要循环遍历对象来添加值,只需使用

dictionary[key] = value
即可。我把固定代码留在这里(另请阅读下面的注释):

u_prisada = ""
u_velikost = ""
    
def bulding_pizzza(u_velikost, identification, **prisada):
    u_velikost = input("Tell me size of your pizza in cm: ")
    u_velikost = int(u_velikost)
    
    while True:
        identification = input("Give your ingredience a number: ")
        u_prisada = input("Tell me ingredience for your pizza: ")
        prisada[identification] = u_prisada
        decision = input("Do you wish to add next ingredience? Yes/No: ")
        if decision.lower() == "yes":
           continue
        else:
           return prisada
           break # This can be removed as the return statement does yet break the loop
    
u_pizza = bulding_pizzza(u_velikost, u_prisada)
    
print("Your pizza has these attributes: ")
for key, value in u_pizza.items():
    print(key) 
    print(value)

注意: 使用数组而不是字典可能更好,因为您只想列出比萨饼的成分。示例:

u_pizza = ['tomato', 'cheese', 'pepperoni']
如果您想存储成分及其数量,您可以创建一个在每个位置包含一个对象的数组:示例:
u_pizza = [{ ingredient: 'pepperoni', amount: '5 units' }, { ingredient: 'cheese', amount: '2ml' }]

希望这对您有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.