同一行输出中的多个类型

时间:2013-02-27 05:15:44

标签: python int type-conversion output

我的目标是代码中的最后一个打印行,但我真的不能因为我不断收到此错误TypeError:不支持的操作数类型+:'int'和'{{1} }”。是否有一种快速方法只更改输出部分以实现这一目标?我仍然需要将它们转换为int,但在这个输出的情况下,我需要在int旁边加上“Population”和“Area”字样!

str

2 个答案:

答案 0 :(得分:4)

您必须将它们转换为str()的字符串:

print(reply + "- \tArea: " + str(countries[reply][0]) + "\tPopulation: " + str(countries[reply][1]))

或者将它们作为参数传递,让print处理它:

print(reply + "- \tArea:", countries[reply][0] + "\tPopulation:", countries[reply][1])

虽然此时我会使用字符串格式:

print('{}- \tArea: {}\tPopulation: {}'.format(reply, rountries[reply][0], rountries[reply][1]))

答案 1 :(得分:1)

或者您可以使用'%'用于告诉打印行您正在使用字符串的符号:

print(reply + "- \tArea: %s" % countries[reply][0] + "\tPopulation: %s" + % countries[reply][1])

Python3建议使用{:s}代替%s。一开始可能看起来令人生畏,但它不是太糟糕而且有用。

print("{reply}-\tArea: {area}\tPopulation: {population}".format(reply=reply,area=countries[reply][0],population=countries[reply][1]))