首页 > 解决方案 > 为什么 Python 会向我返回一条错误消息,说我错误地使用了 int()

问题描述

这是我的代码:

def PopDensity(population, area):
    PopulationDensity = (population/area)
    return PopulationDensity
state= "Maryland"
population='6,052,000'
area="12,407"
PopDensity(int(population), int(area))
stat="The population density of %s is %s."
print(stat % (state,PopulationDensity))

Python 不断向我返回上述打印函数中的某些内容是错误的。它看起来像这样:

回溯(最后一次调用):文件“C:/Users/adamn/OneDrive/Desktop/.py files/Assignment5_1astrub1359960.py”,第 8 行,在 PopDensity(int(population), int(area)) ValueError: invalid literal对于基数为 10 的 int():'6,052,000'"

有人可以告诉我我在打印功能上做错了什么,并提出改进建议。我查看了谷歌推荐给我的另一个问题,但它并没有真正帮助。

标签: pythonprintingint

解决方案


问题在于您传递给的数字格式int()。您可以直接初始化整数,例如population = 6052000. 您使用的是字符串而不是整数。相应地更正您的代码会产生

def population_density(population, area):
    pop_density = (population/area)
    return pop_density
state= "Maryland"
population = 6052000
area = 12407
computed_density = population_density(population, area)
stat="The population density of %s is %s."
print(stat % (state,computed_density))

推荐阅读