输入整数n(n>=1),输出n行高度的下面图形
*
输出格式要求:每一行的最后一个*号后不要有空格
输入输出样例:
9 (注:运行时的输入)
* (注:运行时的输出)
***
*****
*******
*********
以下是Python实现的代码,可以输入整数n,输出n行高度的下面图形:
n = int(input())
for i in range(1, n+1):
print("*" * (2*i-1))
输出结果:
*
***
*****
*******
*********
***********
*************
***************
*****************
*********************
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
后面的横线不用输出吧~~。
def draw_star():
n=int(input(''))
for i in range(1,n):
if i % 2 == 1 :
print('*'*i)
else :
print('')
draw_star()
可以参考下列代码
n = int(input())
i = 0
while i < n:
count = 2 * i - 1
print("*" * count)
i += 1
参考如下:
n = int(input("请输入整数n:"))
for i in range(1, n+1, 2):
print("* "*i)
效果如下:
按照方法2,当我们判断16是否为质数时,我们需要计算:int(math.sqrt(x)+1)=5,也就是要在range(2,5)中比较。即3次(2,3,4)。然而事实上我们只需要比较2,3即可,因为能够被4整除的数,一定能够被2整除,所以比较4是多余的操作。当待判断的数更大时,这种冗余比较就会显得更加突出。基于这个思路很容易发现,我们要去判断的因子都应该是之前的质数。所以优化代码如下:
while -else 和for~else结构是相同的逻辑
def prime4(n):
result=[]
for i in range(2,n):
if result==[]:
result.append(i)
continue
j=0
while result[j]<(int(math.sqrt(i))+1):
if i%result[j]==0:
break
j+=1
else:
result.append(i)
return result