我有一个类:
class Bike(object):
"""Parent class for bikes"""
def __init__(self, name, weight, cost):
self.name = name
self.weight = weight
self.cost = cost
def model(self):
for trait in self.name:
print trait
def pounds(self):
for trait in self.weight:
print trait
def money(self):
for trait in self.cost:
print trait
我创建了一个包含多个键/值关联的字典:
bikes = {}
# Bike designed for children"
bikes['bike1'] = Bike("Trike", "20", "100")
6 辆自行车,如上,
当我尝试运行它们时:
bikes['bike1'].model()
bikes['bike1'].pounds()
bikes['bike1'].money()
我确实打印了名称、重量和成本,
但是它一个字母一个字母地打印出来:
T
r
我
k
e
2
0
1
0
0
我错过了什么?
最佳答案
这些行:
for trait in self.name:
print trait
self.name 是一个字符串。如果你遍历一个字符串,你会一个一个地得到单个字符。因此,您的 print 语句会逐个打印每个字符。如果要打印模型名称,只需:
print self.name
这里根本不需要循环。
关于Python:脚本逐个字母而不是整个单词打印出字典值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29280809/