无需使用任何循环打印数字序列的 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 或更早版本中无需使用任何循环结构即可打印数字序列的术语。
广告