用python输入 菱形
1.题目根据您想输入菱形的层数,在显示屏上输出相应层数的菱形2.代码layer = int(input("请输入正确的要打印的行数,注意是奇数行:"))#因为只有奇数行才能实现上面比下面多一层,依此来实现菱形#上半部分#由于菱形必须要是奇数层数且娶不到+1的for i in range(1,layer // 2 + 2):#计算空格的个数#由于空格数是根据输入的层数减去遍历到的层数来实现spce_
·
1.题目
根据您想输入菱形的层数,在显示屏上输出相应层数的菱形
2.代码
layer = int(input("请输入正确的要打印的行数,注意是奇数行:")) #因为只有奇数行才能实现上面比下面多一层,依此来实现菱形
#上半部分
#由于菱形必须要是奇数层数且娶不到+1的
for i in range(1,layer // 2 + 2):
#计算空格的个数
#由于空格数是根据输入的层数减去遍历到的层数来实现
spce_num = layer // 2 + 1 - i
#从空格来打印空格的层数
for j in range(0,spce_num):#如果输入space_num + 1则会导致空格抢占了数字的位置
print(" ",end="")
#计算*个数
star_num = 2 * i - 1
for j in range(0,star_num):
print("*",end="")
print("")
#下半部分
#由于for是前闭后开 即用整除后的取不到并且菱形必须是奇数 奇数整除(舍去余数,保留整除的数)而且下半部分比上面一层少以此来实现菱形的打印
for i in range(layer // 2 ,0,-1): # (3,0,-1)
#计算空格的个数
#找空格的规律:用输入要打印的层数,减去当前的层数
spce_num = layer // 2 + 1 - i
#从0到空格
for j in range(0,spce_num):
print(" ",end="")
#计算*个数
star_num = 2 * i - 1
#然后从0开始到星号个数来进行遍历
for j in range(0,star_num):
print("*",end="")
print("")
3.结果
更多推荐
已为社区贡献5条内容
所有评论(0)