Python 打印我的函数的结果
这是一个很难回答的问题,我现在正在尝试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'
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的答案。使用格式化工具使你的文章更具可读性。代码块应类似于代码块
。如果需要,请使用粗体斜体。