打印我的功能结果

时间:2018-06-06 22:03:56

标签: python

这是一个非常的菜鸟问题,我正在尝试使用python并立即进行this练习。他们的解决方案表明它实际上可以在不创建任何使其更容易的功能的情况下完成,但是,我仍然想知道为什么我的功能不起作用。

以下是我的代码:

    1 number = int(input("Please enter a number of your choice: "))
CC  2 def odd_or_even():
    3     if number % 2 == 0:
    4         print("You've entered an Even number :)")
    5     else:
    6         print("You've enterd an Odd number.")
    7
    8     return odd_or_even()

另外,你会注意到我在第二行有一个警告:

oddOrEven.py|2 col 1 C| E302 expected 2 blank lines, found 0 [pep8]

在我的vim中。有人可以解释那里到底出了什么问题吗?

3 个答案:

答案 0 :(得分:0)

  1. 你的函数odd_or_even在最后一行调用自己,这意味着它永远不会返回任何内容。
  2. 这还没有引起问题,因为你从不在其他任何地方打电话给odd_or_even

答案 1 :(得分:0)

您需要将number变量传递到odd_or_even函数中。您可能还想调用该函数。

number = int(input("Please enter a number of your choice: "))   
odd_or_even(number) #call function with number variable

def odd_or_even(number):   #define function and pass number parameter                                                       
   if number % 2 == 0:                                                         
      print("You've entered an Even number :)")                               
   else:                                                                       
      print("You've enterd an Odd number.")                                                                                                           
   return #end function

expected two blank lines pep8 warning in python应该回答有关第2行的问题。

答案 2 :(得分:0)

1st:我会将您的函数定义写在调用它的代码之上 2nd:在第8行中,语句:return odd_or_even()使其成为递归函数。可以通过删除对函数的调用来修复它。

像这样:

def odd_or_even(number):
     if number % 2 == 0:
          print("You've entered an Even number :)")
     else:
          print("You've enterd an Odd number.")
     return 

number = int(input("Please enter a number of your choice: "))
odd_or_even(number)