繁体   English   中英

打印我的函数的结果

[英]Printing the results of my function

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

这是我的代码:

    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]

在我看来 有人可以解释那里到底有什么问题吗?

  1. 您的函数odd_or_even在最后一行调用自身,这意味着它将永远不会返回任何内容。
  2. 到目前为止,这还没有引起任何问题,因为您从未从其他任何地方调用过odd_or_even

您需要将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

预期python中有两个空白行pep8警告应回答您与第2行有关的问题。

第一:我会在调用它的代码上方编写您的函数定义。
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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM