簡體   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