编写一个名为 print_num_pattern() 的递归函数来输出以下数字模式。
给定一个正整数作为输入(例如:12),连续减去另一个正整数(例如:3),直到达到 0 或负值,然后连续添加第二个整数,直到再次达到第一个整数。
前任。如果输入是:
12 3
输出是:
12 9 6 3 0 3 6 9 12
这是我尝试过的:
num1 = 12
num2 = 3
def print_num_pattern(num1,num2):
if (num1 == 0 or num1 < 0):
print(num1, end = ' ')
return
print(num1, end = ' ')
print_num_pattern(num1 - num2)
print(num1, end = ' ')
print_num_pattern(num1,num2)
Run Code Online (Sandbox Code Playgroud)
最明显的错误是您print_num_pattern(num1 - num2)仅使用两个参数之一进行调用
def print_num_pattern(num1,num2):
if (num1 == 0 or num1 < 0):
print(num1, end = ' ')
return
print(num1, end = ' ')
print_num_pattern(num1 - num2, num2)
print(num1, end = ' ')
Run Code Online (Sandbox Code Playgroud)
之后就可以正常工作了
>>> print_num_pattern(12, 3)
12 9 6 3 0 3 6 9 12
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13159 次 |
| 最近记录: |