收到TypeError:无法将“ int”对象隐式转换为str

时间:2019-01-15 00:39:38

标签: python

我正在尝试将字典中的值增加1,但是由于某些原因,我不断收到错误消息     TypeError:无法将“ int”对象隐式转换为str

我是Python新手。运行Python 3.5.6,并且我尝试将字典关键字存储为变量,但无法正常工作。

if message.content.startswith('!iwin'):
    data[str(message.author)]['win'] = data[str(message.author)].get('win') + 1 
   print(data[str(message.author)]['win'])
   win_msg = "Your win has been recorded! You now have"
   +str(data[str(message.author)]['win'])+ " wins!"
我要导入的

data.json

{"User1": {"loss": 0, "win": 0, "hero": [708, 786, 125, 350, 230, 745], "coins": 0}

我正在使用以下命令导入

data = {}
with open('data.json') as json_file:
    data = json.load(json_file)

我想要这样,以便在触发该操作时,与键“ win”关联的值增加1。

1 个答案:

答案 0 :(得分:0)

解决了我自己的问题。

最初,我将其编码为: data[str(message.author)]['win'] = data.get(str(message.author)).get(int('win')) + 1

那里的语法很糟糕,所以我认为它从字典中得到了错误的值,也就是字符串值。

后来,当我尝试ValueError: invalid literal for int() with base 10: 'win'

它给了我一个错误data[str(message.author)]['win'] += 1 我仍然不太确定为什么会给我这个错误,因为我很确定0仍然是一个整数。

接下来,我尝试了$('.carousel').each(function(){ var $carousel = $(this); $carousel.find("li").each(function(index){ $(this).addClass('thumbnail'+index); $(this).css('background-image', 'url(' + $carousel.find('.item:nth-child(index) img').attr('src') + ')'); }); }); ,它的运行效果非常好。 最简单的解决方案始终是最好的解决方案。