You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何在if语句内修改字典指定键的对应值

如何在Python字典中修改指定产品的库存值

我是Python初学者,刚学习使用字典批量管理产品库存,无需逐行打印产品信息。现在遇到语法问题,不知如何在if语句中修改字典内指定产品的库存值。当前代码如下:

products={
    "product 1" : 100,
    "product 2" : 100,
    "product 3" : 100,
    "product 4" : 100,
    "product 5" : 100
}
print("current stock: ",products)

change=input("Would you like to change stock amount? ")

if "yes" in change.lower():
    chosen_product=input("Which product would you like to change? ")
    change_type=input("Would you like to add or subtract stock? ")
else:
    print("current stock: ",products)

我在上述if语句部分无法继续编写:不能直接调用整个products字典,因为需修改用户选择的单个产品;也不能直接将chosen_product放在方括号中,因为它本身不是字典,不知如何正确提取该产品并修改其值。


解决方案

你完全可以用products[chosen_product]来定位并修改指定产品的库存,chosen_product是用户输入的键字符串,只要和字典里的键匹配,就能直接访问对应的值。下面是补充完整的代码,还加入了基础的容错处理:

products={
    "product 1" : 100,
    "product 2" : 100,
    "product 3" : 100,
    "product 4" : 100,
    "product 5" : 100
}
print("current stock: ",products)

change=input("Would you like to change stock amount? ")

if "yes" in change.lower():
    chosen_product=input("Which product would you like to change? ")
    # 先检查产品是否存在于字典中
    if chosen_product not in products:
        print(f"产品 {chosen_product} 不存在")
    else:
        change_type=input("Would you like to add or subtract stock? ")
        # 获取要修改的数量
        try:
            amount = int(input("Enter the amount: "))
            if change_type.lower() == "add":
                products[chosen_product] += amount
            elif change_type.lower() == "subtract":
                # 避免库存变为负数
                if products[chosen_product] - amount < 0:
                    print("库存不能为负数")
                else:
                    products[chosen_product] -= amount
            else:
                print("请输入add或subtract")
            # 打印更新后的库存
            print("Updated stock: ", products)
        except ValueError:
            print("请输入有效的数字")
else:
    print("current stock: ",products)
  • 核心逻辑:用products[chosen_product]直接访问目标产品的库存值,通过+=或-=运算符快速修改数值
  • 产品存在性检查:避免用户输入不存在的产品导致程序报错
  • 输入异常处理:防止用户输入非数字内容导致程序崩溃
  • 库存合法性判断:确保库存不会被修改为负数,让逻辑更严谨

内容的提问来源于stack exchange,提问作者hatsukeii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 07:42:26