DreamsComeTrue1 2017-04-15 02:51 采纳率: 80%
浏览 868

下面python代码有什么问题

代码如下:
rows = int (input('输入列数: '))
i = j =k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数

#等腰直角三角形1
print ('等腰直角三角形1')
for i in range (0,rows):
for k in range (0,rows-i):
print('*',) #注意这里的‘,’一定不能省,可以直到不换行的作用
k+=1
i+=1
print ('\n')

#打印实心等边三角形
print ('打印空心等边三角形,这里去掉if-else条件判断就是实心的')
for i in range (0,rows+1): #变量i控制行数
for j in range (0,rows-i): #(1,rows-i)
print (' ',)
j +=1
for k in range (0,2*i-1): #(1,2*i)
if k ==0 or k==2*i-2 or i==rows:
if i==rows:
if k%2==0: #因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格
print('*',)
else:
print(' ',) #注意这里的",",一定不能省略,可以起到不换行的作用
else:
print ('*',)
else:
print (' ',)
k+=1
print ('\n')
i+=1

#打印菱形
print ('打印空心等菱形,这里去掉if-else条件判断就是实心的')
for i in range (rows):
for j in range (rows-i):
print (' ',)
j+=1
for k in range (2*i-1):
if k ==0 or k == 2*i-2:
print('*',)
else:
print(' ',)
k+=1
print ('\n')
i+=1
#菱形的下半部分
for i in range(rows):
for j in range (i):
print (' ',)
j+=1
for k in range (2*(rows-i)-1):
if k ==0 or k==2*(row-i)-2:
print ('*',)
else:
print (' ',)
k+=1
print ('\n')
i+=1

#实心正方形
print ('实心正方形')
for i in range (0,rows):
for k in rang (0,rows):
print('*',)
k+=1
i+=1
print ('\n')

#空心正方形
print ('空心正方形')
for i in range (0,rows):
for k in range (0,rows):
if i !=0 and i !=rows-1:
if k ==0 or k ==rows-1:
#由于视觉效果看起来更像正方形,所以这里*两侧加了空格,增大距离
print ('*',)
else:
print (' ',) #该处有三个空格
else:
print('*',)
k+=1
i+=1
print('\n')

  • 写回答

5条回答 默认 最新

  • llcczsdfd58 2017-04-15 02:54
    关注

    有错误信息,还是说没有达到预期目的?

    评论

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用