我正在尝试运行这个小的python脚本,但是在尝试打印时出现错误。
为什么会这样? 我该如何解决? 代码是:
os.path.exists
但是我得到这个错误:
# Define echo
def echo(n):
"""Return the inner_echo function."""
# Define inner_echo
def inner_echo(word1):
"""Concatenate n copies of word1."""
echo_word = word1 * n
return echo_word
# Return inner_echo
return inner_echo
# Call echo: twice
twice = echo(2)
# Call echo: thrice
thrice = echo(3)
# Call twice() and thrice() then print
print(twice('hello '), thrice('hello '))
但是,如果我这样做:
Traceback (most recent call last):
File "<stdin>", line 22, in <module>
print(twice('hello '), thrice('hello '))
TypeError: 'int' object is not callable
我打电话
copy2=twice('Haha ')
我得到:
copy2
但是,如果我尝试打印它,则会再次出现错误:
In [106]: copy2
Out[106]: 'Haha Haha '
我不知道这是怎么回事,以及如何解决它。
答案 0 :(得分:0)
修复该函数的缩进后,代码可以在我的IDE中工作。您代码中的函数是离右侧太远的一个标签。下面的代码按预期工作
# Define echo
def echo(n):
"""Return the inner_echo function."""
# Define inner_echo
def inner_echo(word1):
"""Concatenate n copies of word1."""
echo_word = word1 * n
return echo_word
# Return inner_echo
return inner_echo
# Call echo: twice
twice = echo(2)
# Call echo: thrice
thrice = echo(3)
# Call twice() and thrice() then print
print(twice('hello '), thrice('hello '))