Python 打印我的函数的结果

Python 打印我的函数的结果,python,Python,这是一个很难回答的问题,我现在正在尝试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'

这是一个很难回答的问题,我现在正在尝试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应为2个空白行,找到0[pep8]
在我的精神里。有人能解释一下到底出了什么问题吗

  • 您的函数
    奇数或偶数
    在最后一行调用自身,这意味着它永远不会返回任何内容
  • 这还没有造成问题,因为你从不会从其他地方调用
    奇数或偶数

  • 您需要将
    数字
    变量传递到
    奇数或偶数
    函数中。您可能还需要调用该函数

    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
    

    应该回答您关于第2行的问题。

    1:我会在调用函数的代码上方编写函数定义。
    2nd:第8行中的语句:return奇数或偶数()使其成为递归函数。可以通过删除对函数的调用来修复此问题

    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
    
    这样地:
    您的函数无限递归。我可以通过删除“return”并简单地调用“odd_或偶数()”来修复它。这是理想的解决方案吗?@Nishant:远非理想;例如,它应该使用
    number
    作为参数,而不是使用全局变量。我可以在注释中添加代码吗?我删除了全局变量,使其看起来像“奇数或偶数(int(input)(“请输入您选择的数字:”)”。这就是你所指的@ScottLook@HunterM267的答案。使用格式化工具使你的文章更具可读性。代码块应类似于代码块。如果需要,请使用粗体斜体。