python - 在 python 中打印数字金字塔模式
问题描述
我想为给定数字的用户打印数字模式。例如:如果用户输入 3,程序应生成 3 行,如下所示:
1
2 3 2
4 5 6 5 4
如果用户输入 4 并且输出必须是:
1
2 3 2
4 5 6 5 4
7 8 9 10 9 8 7
我的代码如下:
a=3
num = 1
num1=2
for x in range(0,a+1):
for y in range(0,a-x):
print(end="* ")
for y in range(x,0,-1):
print(num,end=" ")
num=num+1
for y in range(2,x+1):
print(num1,end=" ")
num1=num1+1
print()
我不知道我在哪里做错了。
解决方案
这个怎么样
rows = int(input("Enter number of rows: "))
k = 0
count=0
count1=0
for i in range(1, rows+1):
for space in range(1, (rows-i)+1):
print(" ", end="")
count+=1
while k!=((2*i)-1):
if count<=rows-1:
print(i+k, end=" ")
count+=1
else:
count1+=1
print(i+k-(2*count1), end=" ")
k += 1
count1 = count = k = 0
print()
推荐阅读
- node.js - 有没有办法在谷歌助手上同时说话和播放音频文件
- go - 如何在 CircleCI Go 图像中使用 Terraform
- android - android studio Gradle 同步失败:不知道如何为 org.gradle.tooling.internal.gradle 构建模型
- openvpn - OpenVPN ping windows 服务器
- mysql - 这个sql查询能不能写得更好
- php - 如何统计在线用户?
- c# - C# 在 SqlDataReader 中禁用自动格式化
- java - 如何使用 Tika API 查找 .bat 文件的 mime 类型?
- reactjs - 设置 React Router 的优先级
- idris - 我可以避免在 Idris 的全部功能中明确排除无效案例吗?