为了账号安全,请及时绑定邮箱和手机立即绑定

这与字典有关

这与字典有关

慕莱坞森 2021-05-31 10:54:30
我的代码是:cart={}line=input('Sale: ')while line:  parts = line.split()  name = parts[0]  number = parts[1]  cart[name] = int(number)  number+=number  cart.update(cart)  print(number,name, 'sold so far')  line = input('Sale: ')问题是:我输入一个键和一个值。然后代码说你已经卖掉了这个价值的钥匙。如果在while循环的另一个迭代中输入相同的键,则该值将更新为新值,例如:Sale: apples 55 apples sold so farSale: oranges 22 oranges sold so farSale: apples 38 apples sold so farSale: 我以为我的代码会这样做,但是当我输入:apples 5 时,它会吐出这个:Sale: apples 555 apples sold so farSale: 我以为number + = number应该被添加到以前的变量中,但是它第二次打印了它。如果可以,请解释并提供帮助。
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

这里有几件事。

您从输入中获取数字并将其设置为字典键的整数,覆盖任何开始的内容。然后,您将原始字符串添加到自己的字符串中;因此,如果您输入“ 5”,则会得到“ 55”。该值与字典中现在的内容无关。然后,您使用自身来更新购物车,这当然不会进行任何更改。

编程时,您需要考虑逻辑步骤。它可以帮助您在编写代码之前写下英语步骤。在这里,首先,您需要从字典中获取当前值。然后,将您的输入转换为 int。接下来,将现有值添加到新值,并将该值设置回字典。最后,打印新的总计。

我不会为此发布确切的代码,因为问题显然是家庭作业,但希望这可以帮助您解决当前的问题。


查看完整回答
反对 回复 2021-06-01
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

尝试遵循@Daniel Roseman 的建议,最好自己尝试一下。但是,如果您遇到困难,这里有一些可能会有所帮助的内容。


cart={}

line=raw_input('Sale: ')

while line:

  parts = line.strip().split()

  name = parts[0]

  number = int(parts[1]) #converting number from string to int


  #this checks if key already exists in the dictionary, if it does not it is created

  if name not in cart:

      cart[name] = number

  #otherwise it is updated

  else:

      cart[name] += number


  #you were trying to do number += number; in your case you did not change number to int variable

  #so number was being treated as string and in context of string += is basically

  #concatenating the string.


  print(str(cart[name]) + ' ' + name + ' sold so far')

  line = raw_input('Sale: ')


查看完整回答
反对 回复 2021-06-01
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

两件事,在这种情况下,数字是一个字符串,因为它被分配了一个字符串值。要将它用作整数,可以像在代码中的其他地方那样进行转换:

number = int(parts[1])

number+=number等同于number+number将这一价值归还给number。换句话说,number如果它是一个整数,它每次的值都会加倍。因此,如果这不是预期的,则应审查该算法。


查看完整回答
反对 回复 2021-06-01
  • 3 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号