【问题标题】:How can you multiply a value from a dictionary with a number to get a real value?如何将字典中的值与数字相乘以获得实际值?
【发布时间】:2021-06-25 20:02:16
【问题描述】:
store={'Rice':450,'Beans':200,'Egg':40,'Fish':250,'Spag':250}

bill=()
total=()

print('Welcome!!!we sell:',"\n",[store])

while True:
    a=input('What would you like to buy?=')
    b=input('how many of each product do you want?=')
    if a in store:
        bill=store[a]*b
        print('bill=',bill)
    elif a not in store:
        print('Sorry we don\'t have that')
    else:
        total=bill+total
print('Total=',total)

【问题讨论】:

    标签: python python-3.x list python-requests dictionary-comprehension


    【解决方案1】:
    • 你的if/elif/else 是不可能的,因为a 是否在字典中,无论它不是,你都无法进入else,所以把它放在if 中。

    • 我还添加了一种通过输入stop 来停止循环的方法,否则您将无法停止程序并打印最终的total

    • b 输入移动到if,如果产品不可用,则无需询问数量

    • b 上添加了int() 转换

    store = {'Rice': 450, 'Beans': 200, 'Egg': 40, 'Fish': 250, 'Spag': 250}
    print('Welcome!!!we sell:', "\n", store)
    total, bill = 0, 0
    while True:
        a = input('What would you like to buy? ("stop" to quit): ')
        print(">" + a + "<")  # For OP debug purpose only, to be removed
        if a == "stop":
            break
    
        if a in store:
            b = int(input('how many of each product do you want?='))
            bill = store[a] * b
            total += bill
            print(f"Total={total} (+{bill})")
        else:
            print('Sorry we don\'t have that')
    
    print('Total=', total)
    

    【讨论】:

    • 谢谢,我看到了错误,但问题是即使我输入停止,程序也停止中断可能是什么问题?
    • 在输入法之后立即执行print("&gt;"+ a +"&lt;"),确保您只输入了“stop”,因为这样应该可以工作
    • @MayopoAdeoye 很清楚,将print("&gt;"+ a +"&lt;") 放在if a == "stop": 之前,缩进相同
    猜你喜欢
    • 2018-03-14
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2019-10-06
    • 2015-07-19
    • 2015-04-25
    相关资源
    最近更新 更多