無需使用任何迴圈列印數字序列的 Python 程式


在本文中,我們將學習以下問題的解決方案 −

問題陳述 - 給定兩個數字 N 和 K,我們的問題是從 N 中減去一個數字 K,直到數字 (N) 大於零 (0),一旦 N 變為負數或零,則我們將開始向其中新增 K,直到該數字變為原始數字 (N)。

例如,

N = 10
K = 4
Output will be: 10 6 2 -2 2 6 10

演算法

1. we call the function again and again until N is greater than zero (in every function 
   call we subtract K from N ).
2. Once the number becomes negative or zero we start adding K in each function call 
   until the number becomes the original number.
3. Here we used a single function for purpose of addition and subtraction but to switch 
   between addition or subtraction function we used a Boolean type variable flag.

現在讓我們觀察 Python 中的實現

示例

 線上演示

def PrintNumber(N, Original, K, flag):
   #print the number
   print(N, end = " ")
   #if number become negative
   if (N <= 0):
      if(flag==0):
         flag = 1
      else:
         flag = 0
   if (N == Original and (not(flag))):
      return
   # if flag is true
   if (flag == True):
      PrintNumber(N - K, Original, K, flag)
   return
   if (not(flag)):
      PrintNumber(N + K, Original, K, flag);
   return
N = 10
K = 4
PrintNumber(N, N, K, True)

輸出

10 6 2 -2 2 6 10

此處所有變數都宣告在全域性名稱空間中,如下圖所示 −

結論

在本文中,我們瞭解了在 Python 3.x 或更早版本中無需使用任何迴圈結構即可列印數字序列的術語。

更新日期: 11-9-2019

631 次瀏覽

職業生涯 起步

完成課程取得認證

開始
廣告
© . All rights reserved.