Python中使用循環語句打印三角形、菱形
阿新 • • 發佈:2017-08-19
size 不能 div 16px 作用 blog 部分 == gre
前言:在學習開發語言循環語句的使用過程中,經常會打印各種形狀來驗證對循環語句的熟練掌握程度,接下來就使用python來打印多種形狀練習。
如下示例中:變量i用於控制外層循環(圖形行數),j用於控制空格的個數,k用於控制星號(*)的個數
1. 打印三角形
1.1 打印直角三角形
#/usr/bin/python rows = int(raw_input(‘please input a rows:‘)) i=j=k=1 if rows >= 3: for i in range(0,rows+1):for k in range(0,i): print ‘*‘, # 註意這裏的",",一定不能省略,可以起到不換行的作用 k = k+1 print ‘\n‘ i = i+1 else: print (‘Please enter a number that greater than or equal to 3,thank you!‘)
1.2 打印空心等邊三角形
#/usr/bin/python rows = int(raw_input(‘please input a rows:‘)) for i inrange(0,rows): for j in range(0,rows-i-1): print " ", j += 1 for k in range(0,2*i+1): if k == 0 or k == 2*i: print "*", else: if i+1==rows and k%2==0: print "*", else: print " ", k += 1 print"\n" i += 1
2. 打印菱形
2.1 打印實心菱形
#/usr/bin/python rows = int(raw_input(‘please input a rows that rather than 2 :‘)) for i in range(0,rows): for j in range(0,rows-(i+1)): print " ", j += 1 for k in range(0,(rows-1)*i+1): if k>=2*i+1 : print " ", else: print "*", k += 1 print "\n" i += 1 for i in range(0,rows-1): for j in range(0,i+1): print " ", j += 1 for k in range(0,2*((rows-1)-i)-1): print "*", k += 1 print "\n" i += 1
2.2 打印空心菱形
# 打印空心菱形先打印上半部分rows行,在打印下半部分rows-1行
#/usr/bin/python rows = int(raw_input(‘please input a rows:‘)) for i in range(0,rows): for j in range(0,rows-(i+1)): print " ", j += 1 for k in range(0,(rows-1)*i+1): if k == 0 or k == 2*i: print "*", else: print " ", k += 1 print "\n" i += 1 for i in range(0,rows-1): for j in range(0,i+1): print " ", j += 1 for k in range(0,2*((rows-1)-i)-1): if k == 0 or k==2*((rows-1)-i)-2: print "*", else: print " ", k += 1 print "\n" i += 1
# 網上也有些朋友先打印上半部分rows-1行,然後打印下半部分rows行
#/usr/bin/python rows = int(raw_input(‘please input a rows:‘)) for i in range(0,rows): for j in range(0,rows-i): print " ", j += 1 for k in range(0,2*i-1): if k == 0 or k == 2*i-2: print "*", else: print " ", k += 1 print "\n" i += 1 for i in range(0,rows): for j in range(0,i): print " ", j += 1 for k in range(0,2*(rows-i)-1): if k == 0 or k == 2*(rows-i)-2: print "*", else: print " ", k += 1 print "\n" i += 1
Python中使用循環語句打印三角形、菱形