我有一门课:
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
我创建了一个包含几个键/值关联的字典:
^{pr2}$6辆以上的自行车
当我试着运行它们时:
bikes['bike1'].model()
bikes['bike1'].pounds()
bikes['bike1'].money()
我确实得到了名字,重量和成本的指纹
但它逐字打印出来:
T
r
我
k
e
二
0
1
0
0
我错过了什么?在
将
^{pr2}$trait
作为字符串self.name
中的每个字符进行处理,并对字符串中的每个字符执行循环体。所以每个字符都被打印在一个单独的行上。你想用一个单词和一行打印出名字是这样的。其他方法和属性也是如此:这些线条:
在自身名称字符串是一个字符串。如果你在一个字符串上循环,你会得到一个接一个的单个字符。因此,print语句将逐个打印每个字符。如果要打印模型的名称,只需:
^{pr2}$你根本不需要循环。在
因为自身名称, 自身成本是字符串。 如果将这些值包装到列表中,就不会遇到这个问题 例如
另一种方法是直接在.model(),.pounds(),.money()中打印它们,而不使用 for循环
相关问题 更多 >
编程相关推荐