Python:脚本逐个字母而不是整个单词打印出字典值?

标签 python function class dictionary printing

我有一个类:

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/

相关文章:

Python在Excel内容中保存所需的行

python - 为什么使用 read_csv() 创建的 DataFrame 与使用相同数据的 DataFrame() 创建的另一个 DataFrame 不同?

c++ - 数组奇怪的参数调理

python - 如何在由类对象组成的列表中查找特定值的最大元素索引?

python - Kedro 与 MongoDB 和其他文档数据库?

python - Pandas :根据另一列的值从列中提取值,并分成单独的数据框

javascript - 为数组中的每个键执行函数 w/o 循环

java - MySQL函数从字符串返回多个Int

c++ - 在类中使用私有(private)成员函数

python - 是否可以区分类函数 __add__ 中的运算符 += 和 +?