【問題】給定高度和筆寬,在控制台輸出乙個由星號組成的大x。
當 高度=10, 筆寬=4時,輸出如下:
**** ****
**** ****
**** ****
*******
*****
*****
*******
**** ****
**** ****
**** ****
分析:
一下子算出這個圖形的哪個位置輸出星號,哪個位置輸出空格,邏輯較複雜。
如果把問題降解,就容易多了:
只輸出 x 的一撇
只輸出 x 的一捺
只要把這兩個問題決,再組合一下就可以得到答案。
以下是python**:
def
bigx
(height, pen_width)
:def
base
(h,w)
:return
[' '
* i +
'*'* w +
' '*
(h-i-1)
for i in
range
(h)]
defadd
(x, y)
: t =
['*'
if c1==
'*'or c2==
'*'else
' 'for c1, c2 in
zip(x,y)
]return
"".join(t)
a = base(height, pen_width)
b =[reversed
(i)for i in a]
for ia,ib in
zip(a,b)
:yield add(ia,ib)
defdisp
(x):
for i in x:
print
(i)if __name__ ==
'__main__'
: disp(bigx(10,
4))
其中的 base 函式,只生成指定高度和筆寬的一撇。
add 函式,負責對給定的兩個串,求其疊加
效果。
python3學習九 列印列印列印
鞏固知識。了解了下 n轉義符 換行 作用。三個引號 可以書寫多行字元,三引號內可以寫單引號雙引號,它會把看做普通的字元。三引號內使用縮排不會特殊理解只會把看這普通字元也就是空格。下面是練習題 here s some new strange stuff,remember type it exactly...
學習python3八列印列印。
加深格式化 學習函式 了解了python保留字元 了解.format 如何傳遞。變數。值中的四個 代 式化。formatter format 內4個內容是給前面定義的變數值裡面的四個 傳遞4個引數。print formatter.format 1,2,3,4 內用了雙引號,代表傳遞給變數定義值裡面寫...
Python3練習題 018 列印星號菱形
python的內建方法 str.center width fillchar 就能輕而易舉列印出來 str即是數量不等的星號,width即是最大寬度 7個空格 預設填充字元fillchar就是空格。兩個for迴圈搞定!如下 12 345s foriinrange 1,8,2 print s i cen...