python - 如何在不使用范围函数的情况下在 python 中编写数字金字塔?
问题描述
我必须在 python 中编写代码以显示以下输出:菱形形状的
1
1 2 1
1 2 3 2 1
1 2 1
1
。但我不能在代码中使用范围函数。
我使用范围编写了以下代码:
rows = 4
for i in range(rows+1):
s=0
for k in range(rows-i):
print(end=" ")
for j in range(i+1):
s=s+10**(i-j)
print(s*s)
print(" ")
for i in range(rows-1,-1,-1):
s=0
for k in range(rows-i):
print(end=" ")
for j in range(i+1):
s=s+10**(i-j)
print(s*s)
print(" ")
请帮助我了解如何在不使用范围函数的情况下编写代码。
解决方案
您可以创建自己的range
或not_range
:P
not_range
返回一个list
从a
到b
不在任何地方使用内置range
!
def not_range(a,b):
if a<b:
return [a]+not_range(a+1,b)
elif a>b:
return [a]+not_range(a-1,b)
else:
return []
rows = 4
for i in not_range(0,rows+1):
s=0
for k in not_range(0,rows-i):
print(end=" ")
for j in not_range(0,i+1):
s=s+10**(i-j)
print(s*s)
print(" ")
for i in not_range(rows-1,-1):
s=0
for k in not_range(0,rows-i):
print(end=" ")
for j in not_range(0,i+1):
s=s+10**(i-j)
print(s*s)
print(" ")
1
121
12321
1234321
123454321
1234321
12321
121
1
推荐阅读
- c# - 如何使用图像背景将 StackLayout 填充到末尾并使用 xamarin 删除网格之间的间距
- c# - windows启动时程序启动时无法打开sqlite数据库文件
- computer-vision - YOLO v4 中的 bad.list 文件是什么
- ruby-on-rails - Rails form_with 在表单提交时混淆了第一个隐藏值,但在呈现 html 时没有
- node.js - 无效的 CSRF TOKEN 节点 js multer
- google-apps-script - 在第一个空行中插入数据
- flutter - Flutter Text 小部件中的字符串空格问题
- docker - 在 Docker 容器中使用 Windows 主机 GPU
- android - 在 GLSurfaceView 的 onTouchEvent 处理程序中使用 queueEvent
- php - 什么更好?在foreach中调用函数还是在函数中调用foreach?