'''
1 *
2 *
**3 *
*****
''''''
分析:先找規律,以3層為例,第一層有兩個空格(n-1),第二層有1空格(n-2),第三層沒有空格(n-3)
'''n = int(input("請輸入乙個數:"))
# 將行數迴圈
for i in range(n+1):
# for j in range(i+1):
# # print("*"*i)
# pass
# n為多少,列印多少個*,但是每行的空格逐行遞減,
print(' '*(n-i)+'*'*i)
'''拓展:
****
*****
*******
*********
*******
*****
****
''''''
分析: * 1
*** 2
***** 3
******* 4
********* 5
******* 6
***** 7
*** 8
* 9
由這個圖形可以發現,第二行與第一行相比,多出了2個*,然後,少了兩個空格。
依次類推,總共有9行,
第一行,左右各(9-2*0-1)/2空格,中間1+2*0個*
第二行,左右各(9-2*1-1)/2空格,中間1+2*1個*
第三行,左右各(9-2*2-1)/2空格,中間1+2*2個*
第四行,左右各(9-2*3-1)/2空格,中間1+2*3個*
……第(n+1)/2行,左右各(n-2*(n-1)-1)/2空格,中間n個*
從第六行開始要逐行遞減。需要重新判斷,並且使用倒著的,range(m-2,0,-2),步長設為-2
第(n-1)/2行,左右各1+2*0空格,中間n-2*1個*
第(n-3)/2行,左右各1+2*1空格,中間n-2*2個*
…………
第n行,左右各(n-1)/2空格,中間1個*
'''m = int(input("請輸入乙個奇數"))
# 將行數迴圈
# 列印正著的
for i in range(1,m+1,2):
print(' '*int(((m-i)/2))+'*'*i+' '*int(((m-i)/2)))
# 當列印到最大行時,使用range(m-2,0,-2),倒著列印
if i == m: #判斷列印到最大行時,執行下面迴圈,
for j in range(m-2,0,-2): #使用range(),從大到小,間隔為2,依次遞減
print(' ' * int(((m -j ) / 2)) + '*' * j + ' ' * int(((m - j) / 2)))
Python中while迴圈練習 列印星星總結
直角三角形星星有四種情況分別是,如下圖所示,假設行數等於列數 其中 1 和 2 屬於一種情況,3 與 4 屬於另一種情況 首先說 1 和 2 這種三角形星星只需要列印星星即可,然後觀察可以知道 圖 1 是第1行列印1個星星,第2行列印2個星星,以此類推 定義行變數,從1開始計數 row 1 迴圈5次...
Python練習 迴圈素數
題目描述 數字197可以被稱為迴圈素數,因為197的三個數字迴圈移位後的數字 197,971,719均為素數。100以內這樣的數字包括13個,2,3,5,7,11,13,17,31,37,71,73,79,97。求任意正整數n以內一共有多少個這樣的迴圈素數 輸入格式 乙個正整數n 輸出格式 n以內迴...
python迴圈巢狀練習
1.三角形 for i in range 1,6 for j in range 1,6 i print end for k in range 1,i 1 print end print 2.九九乘法表 for i in range 1,10 for j in range 1,i 1 print d ...