大大的叉
題目內容:
列印出n階的「叉」,這個叉圖案由字元『+』和『x』構成,n越大,這個圖案也就越大
輸入格式:
乙個正整數n,1<=n<=20
輸出格式:
乙個n階叉圖案
輸入樣例:
輸出樣例:x
輸入樣例:
輸出樣例:
x+++x
+x+x+
++x++
+x+x+
x+++x
輸入樣例:
輸出樣例:
x+++++++++++x
+x+++++++++x+
++x+++++++x++
+++x+++++x+++
++++x+++x++++
+++++x+x+++++
++++++x++++++
+++++x+x+++++
++++x+++x++++
+++x+++++x+++
++x+++++++x++
+x+++++++++x+
x+++++++++++x
my answer
思路一:先從例子裡找規律。。
x+++x # 0個+, 1個x, 3個+,1個x,0個+
+x+x+ # 1個+, 1個x, 1個+,1個x,0個+
++x++ # 2個+, 1個x,2個+
+x+x+ #
x+++x #
最中間的那一行,給一條命令打出來,第
一、二行跟
四、五行對稱,我只要打出上半部分,下半部分倒著過來打就好了
n =
int(
input()
)for i in
range
(n -1)
:print
('+'
* i +
'x'+
"+"*(2
*(n - i)-3
)+'x'+
'+'* i)
print
('x'
.center(
2* n -1,
'+')
)for j in
range
(n-2,-
1,-1
):print
('+'
* j +
'x'+
"+"*(2
*(n - j)-3
)+'x'+
'+'* j)
思路二:老師的解法:為方便理解,直接取值為3
n =
int(
input()
)-1# n=2
lst =
['x']*
(2* n +1)
# lst = ['x','x','x','x','x']
for i in
range
(n):
# 迴圈2次,打出前兩行
s ='+'* i +
'x'+
'+'*
(n - i -1)
# 打出每一行的前半部分
s = s +
'+'+ s[::
-1]# 把 s 倒過來合併字串
lst[i]
= lst[-1
- i]
= s # 迴圈替換lst[i]的值
lst[n]
="+"
* n +
'x'+
'+'* n # 把中間一行,即第2行進行修改
for l in lst:
print
(l)# 遍歷lst裡的元素,輸出
我的方法非常老實,就是乙個個把需要的字串列印出來,老師的方法用了列表,利用了圖案的對稱,列表的方法,就 lst[i] = lst[-1 - i] = s, 這個就看出我跟老師的差距了 ╮(╯_╰)╭ 廖大python實戰專案第三天
為了看懂這一天的原始碼,翻了之前好多的文章才算是勉強理解了一點。廖大在這本文中並沒有很詳細的介紹,那是因為之前就已經告訴過我們了。使用元類這一篇中在介紹元類的同時也介紹了一點orm。因為是後來補上的,從歷史紀錄上看我找了好多東西,而且都很有用,乾脆根據範圍列乙個參考文章表,也方便自己回顧的時候用。有...
產品的十大實戰流程
整個產品體系 圖1,url 包含產品哲學 產品設計 產品實施 產品營銷的全線10大實戰流程及產品人心智模式的5項修煉,配以it全景案例 圖2,及全行業大案要案舉一反三,目標是解決中國產品人三大硬傷 大局的系統能力,觸類旁通的關聯能力及取長為用的整合能力。一產品哲學 圖3,url 闡述了it行業做產品...
廖大python實戰專案第五天
ps 決定還是堅持寫部落格記錄一下比較好。今天的實戰內容是編寫web框架,如果之前的知識不熟悉的話確實看不大懂。在這裡奉上自己的理解以及幫助理解的相關資料和文件。首先我們要知道web框架是什麼東西,它到底要怎麼實現。這一點廖大在web開發的wsgi介面 使用web框架這兩篇文章裡已經說過了。摘要一些...