python中字典的取值?

我是初学者,这是自己编的。。。不明白为何字典里的键只能是固定了来取。望大神赐教!print('欢迎来到超市收费系统!')wupin=int(input('物品种类(1.肉... 我是初学者,这是自己编的。。。不明白为何字典里的键只能是固定了来取。望大神赐教!

print ('欢迎来到超市收费系统!')
wupin=int(input('物品种类(1.肉类,2.蔬菜,3.饮料,4.生活用品):'))
weigth=int(input('物品重量:'))
jiage={'1':20,'2':10,'3':6,'4':30}
if jiage.get('wupin'): #这里我是想用输入的wupin的值代入成为jiage里的键,然后取得jiage里的值
danjia=jiage['wupin'] #error
else:
danjia=999999
zongjia=weigth*danjia
print('总价格为:',zongjia,'元')
展开
 我来答
银夜明4
2021-08-15 · 超过10用户采纳过TA的回答
知道答主
回答量:113
采纳率:20%
帮助的人:9.7万
展开全部
  1. 首先你在字典里面对 1,2,3,4用单引号括起来了,这代表了这是一个字符而不是int类型的数字,所以你可以把wupin的int去掉

  2. 其次我不知道你源代码是什么样的,从这里复制出来的代码if 和else 那里没有缩进,正好会出现那个error ,你可以看一下缩进

  3. 还有传变量的时候不用加引号

  4. 这是我运行成功的,你可以看一下

  5. 请点击输入图片描述

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石卒冫水
2021-08-15 · TA获得超过5985个赞
知道大有可为答主
回答量:2.1万
采纳率:36%
帮助的人:1919万
展开全部
字典访问格式是——字典名[键名]
你的那句danjia=jiage['wupin']错了,字典中没有键名'wupin'。
按照你的意思,应该把输入语句换下wupin=input(...),wupin存放字符串属性的输入,你字典里的键名是字符串属性的。然后字典访问的那句改为danjia=jiage[wupin]。这里字典访问时就是访问变量wupin对应的值的键名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式