1. 程式人生 > >Python---控制檯輸出:空心三角形

Python---控制檯輸出:空心三角形

這裡寫圖片描述

  • 是的我還是分成了三個部分
  • 第一部分和最後一部分都是很容易的,如果理解了空心正方形的話
  • 這裡依然選擇長度是20的三角形
  • 為了好看,依然用空格隔開,也增加了難度

第一部分

# 在中間列印的*,判斷i迴圈下,i累加到10的時候,就列印*,其他時候列印空格加end不換行
for i in range(1, 20):
    if i == 10:
        print("*")
        break
    else:
        print(" ", end="")

第二部分

# j迴圈控制行數且控制每行第一個*列印在什麼地方,第二行i==9,第三行i==8,第四行i==7,所以使用j遞減迴圈,
i迴圈每行在哪個位置列印*或者空格。 for j in range(9, 1, -1): for i in range(1, 20): if i == j: print("*", end="") # 為什麼判斷是20-j,因為當i==j的時候,列印的*是這行列印的第一個*,每行長度是20,最後一個*的位置肯定在20-j的位置,為了對稱。 elif i == 20 - j: print("*") break else: print(" "
, end="")

第三部分

# 和列印正方形的原理是一樣,判斷哪個位置列印*,這裡不同,為了好看,要靈活判斷列印*的位置,這裡i是奇數的時候列印*,是偶數時候是列印*空格
for i in range(1, 20):
    if i % 2 != 0:
        print("*", end="")
    else:
        print(" ", end="")