【问题标题】:TypeError: (function) takes exactly x arguments (x+1 given) [closed]TypeError:(函数)恰好采用x个参数(给定x + 1)[关闭]
【发布时间】:2013-05-26 20:50:22
【问题描述】:

我是一个非常非常初学者的程序员,为了好玩而做一些简单的数据分析。我已经有几个月没有用 Python 做任何事情了,所以我敢肯定它笨重且不优雅,如果出现大问题,我也不会感到惊讶。

这是给我带来麻烦的功能:

def growth (city, percentage):
    neww = int(city + city * percentage)
    return neww

然后是代码的其余部分:

def printStyle (cityName, cityString):
    print cityName+": "+str(cityString)

newYork=19831858
losAngeles=13052921
chicago=9522434
y=2012

while y<2020:
    newYork = growth(newYork, 0.0135)
    losAngeles = growth(losAngeles, 0.0175)
    chicago = growth(chicago, 0,0065)

print "Year: "+str(y)
printStyle ("New York", newYork)
printStyle ("Los Angeles", losAngeles)
printStyle ("Chicago", chicago)

这是错误:

Traceback (most recent call last):
  File "<stdin>", line 49, in <module>
TypeError: growth() takes exactly 3 arguments (2 given)

我使用的是 Python 2.7。你怎么看?

【问题讨论】:

  • 错误不应该是“TypeError:growth() 正好需要 2 个参数(3 个给定)”
  • 当 Python 告诉你第 49 行有错误时,你应该从那里开始。

标签: python function typeerror


【解决方案1】:

删除此行中0 之后的,

chicago = growth(chicago, 0.0065)

【讨论】:

  • 哇,我是个白痴。谢谢!显然这解决了它。我当前的编辑器不显示行号,所以我算错了。好在没有进一步下降,我有大约 40 个城市的数据。
  • @user2439108,你到底为什么使用不显示行号的编辑器???
  • @gnibbler 他可能是个铁杆cat用户
【解决方案2】:
chicago = growth(chicago, 0,0065)

那里有一个逗号作为小数分隔符。

【讨论】:

    猜你喜欢
    • 2015-06-06
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 2023-03-28
    • 2017-02-19
    • 1970-01-01
    相关资源
    最近更新 更多