这是一个非常的菜鸟问题,我正在尝试使用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中。有人可以解释那里到底出了什么问题吗?
答案 0 :(得分:0)
odd_or_even
在最后一行调用自己,这意味着它永远不会返回任何内容。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)