在 Python 程序中不使用任何循环打印数字系列

pythonserver side programmingprogramming更新于 2025/12/20 22:36:17

在本文中,我们将学习下面给出的问题陈述的解决方案 −

问题陈述

给定两个数字 N 和 K,我们的问题是从 N 中减去一个数字 K,直到数字(N)大于零(0),一旦 N 变为负数或零,我们就开始向其添加 K,直到该数字变为原始数字(N)。

例如

N = 10
K = 4

输出

10 6 2 -2 2 6 10

算法

  • 我们一次又一次地调用该函数,直到 N 大于零(在每个函数调用我们从 N 中减去 K )。

  • 一旦数字变为负数或零,我们开始在每个函数调用中添加 K,直到数字变为原始数字。

  • 这里我们使用一个函数进行加法和减法,但要在加法或减法函数之间切换,我们使用布尔类型变量标志。

现在让我们观察 Python 中的实现

示例

def PrintNumber(N, Original, K, flag):
   #打印数字
   print(N, end = " ")
   #如果数字变为负数
   if (N <= 0):
      if(flag==0):
         flag = 1
      else:
         flag = 0
   if (N == Original and (not(flag))):
      返回
   # 如果 flag 为真
   if (flag == True):
      PrintNumber(N - K, Original, K, flag)
      返回
   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 或更早版本中不使用任何类型的循环结构打印数字系列的术语。


相关文章


有用资源