这个提高感觉不是一般的提高,有没有知道的告诉我一下,这个属于循环结构的内容吗😂
n = int(input('您想看几行呀?'))
##首先确定最大空格行
_s =int((n-1)/2) if n%2 == 1 else int((n-2)/2)
for i in range(1,int(n)+1) : ### 从1开始,到n结束
if i % 2 == 1 :
print( _s*' '+ i * '*') ### 空格+一个或多个‘*’
_s -=1 ### 空格数量 -1
else :
print(' ') #### 跳过
不难
n = int(input())
for i in range(n):
print(" "*(n-i-1)+"*"*(2*i+1))
使用循环结构进行星星打印的示例代码如下:
num = int(input("请输入星号的行数: "))
for i in range(1, num + 1):
print("*" * i)
该代码中,使用 input()
函数接收用户输入行数,然后使用 for
循环进行打印操作。循环从1到输入的行数进行,每次打印的内容是 "*" 字符串的 i 倍,即打印 i 个星号。在每个循环结束时执行 print()
函数进行输出,因此可以依次打印出一行一行的星号图案。
如果需要打印三角形或倒三角形,可以修改循环的范围和打印的字符内容,示例代码如下:
打印正三角形:
num = int(input("请输入星号的行数: "))
for i in range(1, num + 1):
print(" " * (num - i), "*" * (2 * i - 1))
该代码中,在每行星号前面先打印一定数量的空格,使其右对齐,从而形成一个正三角形。每行星号的数量为 (2 * i - 1)
,即从 1、3、5、... 递增。注意,字符乘法的运算结果为生成指定数量的字符的字符串。
打印倒三角形:
num = int(input("请输入星号的行数: "))
for i in range(num, 0, -1):
print(" " * (num - i), "*" * (2 * i - 1))
该代码中,循环从输入的行数逆序到 1 进行,在每行星号前面先打印一定数量的空格,使其右对齐,从而形成一个倒三角形。每行星号的数量为 (2 * i - 1)
,即从 2*num-1
、2*num-3
、2*num-5
、... 递减。注意,循环的步长为 -1,即逆序进行循环。