# 第26期-数字金字塔
Python是一门需要不断实践练习的编程语言,本文档将AI大学堂学员交流群的Python每周练习进行汇总,希望各位小伙伴能够多进行实践练习,逐渐爱上这门神奇的编程语言,掌握它并在生活中能够使用它。
# 1 问题描述
数字金字塔
按照格式将数字输出成金字塔形状
输出结果要求如下
# 2 解题思路
总的是两层for循环嵌套,最外层循环是根据输入的数字,来对每行添加空格,内层两个平行的for循环分别用于输入两侧的数字
也可以使用列表分别输出数字
# 3 解题方法
max=int(input('请输入行数:'))
x=[' ']*(2*max-1)
for i in range(max):
x[max-1-i]=str(i+1)
x[max-1+i]=str(i+1)
print(''.join(x))
1
2
3
4
5
6
2
3
4
5
6
第1行: 使用input函数输入行数,转换为int整数类型并返回给max
第2行: 我们观察到问题描述中的图片可以得知每一行的数字个数分别是其行数的两倍减一,于是创建一个对应长度的列表x,x中的元素全是空格
第3-5行: 使用for循环遍历max次,每一次遍历都改变两个数变成对应的数字
第6行: 打印列表中的空格和数字(注意join函数只能打印字符串,所以数字需要转换成字符串类型)
代码运行结果为:
# 4 视频解析
高清视频讲解,请查看AI大学堂Python基础实战100例 (opens new window)
关注『讯飞AI大学堂』公众号,发送 python100 即可领取Python基础实战100例源代码