我试图缩短代码
代码:
inv = {'arrow': 12, 'gold coin': 42, 'rope': 2, 'torch': 4, 'dagger': 1}
def show_inv():
print('inventory:')
item_total = 0
for k, v in inv.items():
print(str(v)+ ' ' + (k) )
item_total = item_total + v
print('total number of items: ' + str(item_total) )
show_inv()
dragon = {'gold coin': 50, 'ruby': 15}
inv.update(dragon)
print()
print('after slaying dragon:')
show_inv()
无济于事,所以我在这里:)
这是
结果:
inventory:
12 arrow
42 gold coin
2 rope
4 torch
1 dagger
total number of items: 61
after slaying dragon:
inventory:
12 arrow
50 gold coin
2 rope
4 torch
1 dagger 15 ruby total number of items: 84
在你“缩短”你的代码之前,确保它是正确的。当前^{} 将只覆盖条目!在
我建议使用^{} 而不是
dict
,因为它已经实现了您想要的逻辑:您使用的唯一函数是
show_inv
。然而,这个函数的唯一目的是print
一个对象的表示,没有多少可以“缩短”的。似乎是对的。在但是如果您有一个“object”(对象)和一个用于该对象的函数,那么您应该考虑使用“class”来包装它。有一些方法允许您自定义“字符串”表示形式:^{} 和^{} ,因此可以使用这些方法来代替显式函数(或方法)调用:
^{pr2}$您可以使用
sum
函数,而不是递增地增加总数,但除此之外,您不能做很多事情:如果你真的想要最短的函数,你可以用这一行;)
(请不要这样做)
相关问题 更多 >
编程相关推荐