如何使用python打印数字菱形?

Python021

如何使用python打印数字菱形?,第1张

# 单行输出数值从小到大再从大到小

def numout(length):

for i in range(length-1):

print(i+1,end = "")

print(length,end = "")

for i in range(length-1):

print(length-i-1,end = "")

print(" ")

# 一共输出了2n-1行数字

def diamond(length):

for i in range(1,(length*2)):

print(" "*abs(length-i),end = "")

numout(length-abs(i-length))

while True:

length = None

#检测输入值是否为数值类型

try:

length = int(input("请输入正整数:"))

except:print("错误,",end = "")

if type(length) == int:break

# 输出菱形

diamond(length)

要使用 Python 中的杨辉三角形打印两个三角形、一个菱形或三角形和菱形的组合,可以使用嵌套的 for 循环和条件语句。下面是一个示例:

在此代码中,该函数用于为第一个三角形生成从 1 到的数字序列,为第二个三角形生成从 1 到 1 的数字序列。然后,使用两个嵌套的 for 循环遍历三角形的行和列,并使用公式打印杨辉三角形中的数字。打印每个三角形中的数字后,打印换行符range()nnint(bin(i-1)[2:][::-1][j-1])

回答不易望请采纳

按照你的要求编写的输出数字菱形的Python程序如下(abs是求绝对值的函数)

N=9

for i in range(1,N*2):

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

print(' ',end='')

for j in range(N-abs(N-i),1,-1):

print(j,end='')

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

print(j,end='')

print()

源代码(注意源代码的缩进)