矩陣翻轉(上下,左右)

2022-03-03 11:57:28 字數 2202 閱讀 1610

輸入第一行包括由空格分開的整數 m,n,t(0 < n,m < 200)m,n,t(0

之後的 m 行,每行包括由空格分隔的 n 個整數,依次為輸入矩陣的每一行的資料。

輸出包括 m 行 n 列,每個數字之間用乙個空格分隔,每一行行末均有乙個空格,表示的是按照要求翻轉後的矩陣。

樣例輸入

4 4 1
1 2 3 4

5 6 7 8

9 0 1 2

3 4 5 6

樣例輸出

3 4 5 6 

9 0 1 2

5 6 7 8

1 2 3 4

解題思路:這道題上下翻轉和左右翻轉分為兩種不太相同的思路

1.首先將輸入的陣列存入乙個二維列表中,python中不存在二維列表,即用列表中包含列表來表示二維列表

mapss =

for i in

range(int(a)):

lists =input().split()

2.對這個列表進行上下翻轉,按照以上存入陣列方法,每一行就是乙個列表,直接將列表進行交換

3.對這個列表左右翻轉,由於一開始存入的陣列是上圖所示,所以無法直接進行陣列交換,只能將每行中的數字逐個交換

4.將最終的兩種不同方式封裝為函式

def

changes(m, n, q, maps):

if q == 1:

for j in range(m // 2):

maps[j], maps[a - 1 - j] = maps[a - 1 -j], maps[j]

elif q ==0:

for j in

maps:

for k in range(n // 2):

j[k], j[n-1-k] = j[n-1-k], j[k]

貼上最終的ac**:

1

defchanges(m, n, q, maps):

2if q == 1:

3for j in range(m // 2):

45 maps[j], maps[a - 1 - j] = maps[a - 1 -j], maps[j]

6elif q ==0:

7for j in

maps:

8for k in range(n // 2):

9 j[k], j[n-1-k] = j[n-1-k], j[k]

1011

12 a, b, c =input().split()

13 a =int(a)

14 mapss =

15for i in

range(int(a)):

16 lists =input().split()

1718

19changes(a, int(b), int(c), mapss)

20for i in

mapss:

21for j in

i:22

print(j+"

", end="")23

print("")

view code

本題的思路中只將行數,列數以及

判斷翻轉方式3個變數化為整數,其餘矩陣中的整數均以字串形式表示,並未將其化為整數,

該題是對矩陣整體的變化,並未對矩陣具體內容進行修改,所以無須化為整數。

css div上下左右居中

通常我們用到的css布局都是左右居中,經典css寫法如下 body div 上面是經典的左右居中的css寫法,那麼像登入框那些比較小得div塊只是左右居中是否不是太美觀,如果上下左右都居中這是 body div上面的margin可以合併 margin 250px 0 0 250px 大概原理就是 布...

UILabel 上下左右對齊

在ios中預設的uilabel中的文字在豎直方向上只能居中對齊,博主參考國外 從uilabel繼承了乙個新類,實現了居上對齊,居中對齊,居下對齊。具體如下 cpp view plain copy myuilabel.h created by yexiaozi 007 on 3 4 13.import...

CSS 上下左右居中筆記

結果 2.彈性盒子flex justify content 內容對齊,屬性應用在彈性容器上,把彈性項沿著彈性容器的主軸線 main axis 對齊。justify content flex start flex end center space between space around align ...