Python递归打印函数


1. 题目🔍

本题要求实现一个递归函数,可输出一个包含数字0到9,并逐层递减1个数字的倒三角形。输出显示如:第一行:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第二行: [1, 2, 3, 4, 5, 6, 7, 8, 9]第三行:[2, 3, 4, 5, 6, 7, 8, 9]…直到最后一行:[]

1.1 函数接口定义

print_n(l)

注:print_n(l)函数中参数l是打印的列表

1.2 裁判测试程序样例

l1 = [i for i in range(10)]
print_n(l1)

1.3 输出样例

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7, 8, 9]
[3, 4, 5, 6, 7, 8, 9]
[4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]
[6, 7, 8, 9]
[7, 8, 9]
[8, 9]
[9]
[]

2. 题解✨

2.1 思路

去掉列表左侧的元素依次增加,去掉的数量从0个一直增加到len(list)

注:暂未用递归函数完成

2.2 代码

def print_n(l):
    for i in range(len(l) + 1):
        temp = l[i:]
        print(temp)

# 测试程序
# l1 = [i for i in range(10)]
# print_n(l1)

相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值