我遇到的一个简单的困境涉及定义和调用 2 个在 Python 中相互利用的函数



所以我正在学习如何用Python(我的第一种编程语言)编程,我是一个完全的新手。我正在使用inventwithpython和codecademy.com。codecademy的问题是,从我与inventwithpython的比较来看,他们真的不擅长教编程。在其中的一个教程中,他们想让我定义两个函数并相互调用它们。我觉得我离正确的做法很近了,我觉得正确的做法就在我眼前。下面是代码:

def cube(number2):
    pine =  number2**3 
    return pine
def by_three(number2):
    if number2 % 3 == 0:
        return cube(number2)
    else:
        return False
number2 = raw_input("Pick a number")
by_three(number2)

下面是我从界面得到的错误:

Traceback (most recent call last):
  File "python", line 13, in <module>
  File "python", line 6, in by_three
TypeError: not all arguments converted during string formatting

我尝试将pine转换为字符串格式,但没有工作,所以我只是将其还原回来。Codecademy在我看来很糟糕,我使用它只是因为除了inventwithpython网站之外,我找不到很多好的资源来学习如何使用Python编程。

raw_input()返回一个字符串。你试图使用模表达式与字符串,这就是为什么你得到这个错误。

使用int()函数将字符串转换为整数:

number2 = int(raw_input("Pick a number"))

顺便说一下,codecademy并没有那么糟糕。不同的作者会创建不同的教程,这让人很困惑。

您没有键入数字。使用int()函数来完成。

def cube(number2):
    pine = number2**3
    return pine
def by_three(number2):
    if number2 % 3 == 0:
        return cube(number2)
    else:
        return False
number2 = int(raw_input("Pick a number"))
print by_three(number2)

相关内容

  • 没有找到相关文章

最新更新