首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python编写代码时,print命令不像预期的那样起作用。

使用Python编写代码时,print命令不像预期的那样起作用。
EN

Stack Overflow用户
提问于 2014-10-19 01:08:48
回答 1查看 22关注 0票数 0
代码语言:javascript
复制
inventory = {
    'gold' : 500, 
    'sack' : ['rock', 'copper wire'],
    'weapons rack' : ['pistol', 'MP-5', 'grenade'],
    'ammo pouch' : ['Pistol ammo', 'MP-5 ammo'],
}

print "You have " + inventory['gold'][0] + " coins!"

我得到了错误消息:

代码语言:javascript
复制
  line 8, in <module>
    print "You have " + inventory['gold'] + " coins!"
TypeError: 'int' object has no attribute '__getitem__'

为什么控制台不打印出"You have 500 gold coins!"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-19 01:10:13

您的gold条目不是一个列表;您正在尝试索引500整数。删除[0]

代码语言:javascript
复制
print "You have", inventory['gold'], "coins!"

请注意,我使用的是逗号,而不是+,因为不能只将字符串和整数连接在一起。另一种方法是首先将整数转换为字符串:

代码语言:javascript
复制
print "You have " + str(inventory['gold']) + " coins!"

您还可以将黄金值放入列表中:

代码语言:javascript
复制
inventory = {
    'gold' : [500], 
    'sack' : ['rock', 'copper wire'],
    'weapons rack' : ['pistol', 'MP-5', 'grenade'],
    'ammo pouch' : ['Pistol ammo', 'MP-5 ammo'],
}

注意这里的[...]值周围的500方括号。然后,您的[0]再次应用:

代码语言:javascript
复制
print "You have", inventory['gold'][0], "coins!"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26446232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档