可爱的Linda酱


私信TA

用户名:uq_56686454401

访问量:75

签 名:

等  级
排  名 22059
经  验 624
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

对于这题的参数,只需要接收一个数字n

因此,大的框架就很简单了:

def printsnake(n):

    #中间的重要代码

n=int(input())

printsnake(n)


很明显,这题是循环打印,外层需要循环n次。所以我们提前准备好两层循环


def printsnake(n):

    for i in range(1,n+1):    #这里使用range(1,n+1)。这样i的值就是当前的行数,更直观

        #循环体

        for j in range():

            #循环体

n=int(input())

printsnake(n)


对于内层,第一行需要打印n个数字,第i行需要循环打印n+1-i个数字。但是最后一个数字后面不能有空格,而是有换行符。所以我们单独拿出来。

因此,内层循环区间应该是(1,n+1-i)


def printsnake(n):

    for i in range(1,n+1):

        #循环体

        for j in range(1,n+1-i):      #内层循环层数

            #循环体

        print(present)    #打印每行最后一个数,顺带了换行符


n=int(input())

printsnake(n)


每行第一个数是1,2,4,7,11......规律是1+1,再+2,再+3......,就是加上当前的行数

因此,对于每行第一个数begin,代码就是:


def printsnake(n):

    begin=1        #begin首先是1

    for i in range(1,n+1):

        #外层其他循环数据

        for j in range(1,n+1-i):

            #内层循环

        print(present)

        begin+=i     #更新begin,以准备下一次外层循环

n=int(input())

printsnake(n)


对于每行,要打印的数字,第一个就是begin,然后根据规律,下一个数字就再+当前行+当前列。因此,对于每行的打印结果,总代码就是:


def printsnake(n):

    begin=1

    for i in range(1,n+1):

        present=begin        #present是当前要打印的数据。首先就是当前行第一个数字begin

        for j in range(1,n+1-i):

            print(present,end=' ')        #打印present,end=' '以打印空格而避免换行

            present=present+i+j        #根据规律,更新present

        print(present)                        #打印每行最后一个数,顺便换行

        begin+=i

n=int(input())

printsnake(n)


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区