怎么用python打印任意大小的菱形?

center()函数    

语法str.center(width , "fillchar") 

描述:返回一个长度为width,两边用fillchar(单字符)填充的字符串,即字符串str居中,两边用fillchar填充。若字符串的长度大于width,则直接返回字符串str。

方式一:打印固定字符数的菱形,本例单行打印的最大字符数为7

#固定打印字符数的菱形
s = '*'
for i in range(1, 8, 2):                              #i的取值范围是[1,8),步长为2,即i的选值为1,3,5,7
    print((s * i).center(7))
for i in reversed(range(1, 6, 2)):                    #i的取值范围是[1,6),步长为2,即i的选值为1,3,5
    print((s * i).center(7," "))                      #以7个字符长度为一行的总长度,居中打印*,*的两端使用空格填充

打印结果如下:

怎么用python打印任意大小的菱形?_第1张图片

 方式二:打印从终端输入任意字符数的菱形

#终端输入任意输入打印字符数的菱形
s = '*'
number=int(input("请输入单行'*'最大的打印数量(单数):"))
for i in range(1, number+1, 2):                         #i的取值范围是[1,number+1),步长为2,即i的选值为1,3,...,number
    print((s * i).center(number))                       #以number个字符长度为一行的总长度,居中打印*,*的两端使用空格填充
    if i==number:                                       #当遍历到最大值number时
        for j in range(number-2,0,-2):                  #i的取值范围是[number-2,0),步长为-2,即i的选值为number-2,number-4,...,1
            print((s * j).center(number))               #打印下半个菱形

 打印结果如下:

怎么用python打印任意大小的菱形?_第2张图片

你可能感兴趣的:(javascript,前端,html,python)