2025年6月10日 星期二

2025年6月9日 星期一

矩陣轉換

 def do(p):  

  global d

  if p==1:

    print('上下翻轉')

    d =d[::-1]

    for i in d:

      print(i)

  if p==0:

    print('90旋轉')

    d = [i[::-1] for i in zip(*d) if i[0]!=' ' ]

    # print(d)

    for i in d:

      print(''.join(i))


r,c,m = map(int,input().split())

d = []

for i in range(r):

  t = input()

  d.append(t)


print('原資料')

for i in d:

  print(i)


ps = [int(i) for i in input().split()]


for p in ps:

  do(p)


# print('左右翻轉')

# d =[i[::-1] for i in d]

# for i in d:

#   print(i)


# print('-90旋轉')

# d = [i for i in zip(*d)][::-1]

# for i in d:

#   print(''.join(i))


data:

3 2 3

1 1

3 1

1 2

1 0 0


Output:


原資料

1 1

3 1

1 2

上下翻轉

1 2

3 1

1 1

90旋轉

131

112

90旋轉

11

13

21

2025年6月6日 星期五

象棋比大小

 rb = "將士象車馬包卒"[::-1]

rr = "帥仕相俥傌炮兵"[::-1]


def p1(d):

if d[0] in rr:

dr = d[:5]

db = d[5:]

else:

db = d[:5]

dr = d[5:]


rwin = 0

bwin = 0

for i in range(5):

    if rb.find(db[i])>rr.find(dr[i]):bwin+=1

    elif rb.find(db[i])<rr.find(dr[i]):rwin+=1

    

if rwin > bwin:return '紅方'

elif rwin<bwin:return '黑方'

return '平手'


while True:

try:

d = input().split()

print(p1(d))

except:

break

chat

 #第1版:只會講您好

# while True:

#     d = input()

#     print('您好')


#第2版:有簡單分辨好壞話能力

# good =['早安','您好'] 

# bad = ['豬頭','兩光']

# while True:

#     d = input('玩家:')

#     if d in good:

#         print('機器人;'+d)

#     if d in bad:

#         print('機器人;'+'你也是'+d)


#第3版:會講多種好話

good =['早安','您好','很高興看到你'] 

bad = ['豬頭','兩光']

while True:

    d = input('玩家:')

    if d in good:

        print('機器人;'+good[random.randint(0,len(good)-1)])

    if d in bad:

        print('機器人;'+'你也是'+d)

2025年6月5日 星期四

7槓法顯示數字

 def fr(s):

  t = ''

  for i in range(5):

    for j in [int(k) for k in s]:

      t+=r[j][i]+'\t'

    t+='\n'

  return t

    

r0 = [

' - ',

'| |',

'   ',

'| |',

' - '

]


r1 = [

'   ',

'  |',

'   ',

'  |',

'   '

]


r2 = [

' - ',

'  |',

' - ',

'|  ',

' - '

]


r3 = [

' - ',

'  |',

' - ',

'  |',

' - '

]


r4 = [

'   ',

'| |',

' - ',

'  |',

'   '

]


r5 = [

' -  ',

'|  ',

' - ',

'  |',

' -  '

]


r6 = [

'    ',

'|  ',

' - ',

'| |',

' -  '

]


r7 = [

' - ',

'  |',

'   ',

'  |',

'    '

]


r8 = [

' - ',

'| |',

' - ',

'| |',

' - '

]


r9 = [

' - ',

'| |',

' - ',

'  |',

'   '

]



r = []

r.append(r0)

r.append(r1)

r.append(r2)

r.append(r3)

r.append(r4)

r.append(r5)

r.append(r6)

r.append(r7)

r.append(r8)

r.append(r9)


d = '12304'

print(fr(d))  

d = '4321'

print(fr(d))  


d = '9876543210'

print(fr(d))


Output:



2025年6月4日 星期三

insert sort 修

 d = [10,20,30,40,50,25,15,35,5]

r = []

while d:

  p = d.pop()


  for i in range(len(r)-1,-1,-1):

    if p>r[i]:

      r.insert(i+1,p)

      break

  else:

    r.insert(0,p)

  print(r)

  

output:  

[5]

[5, 35]

[5, 15, 35]

[5, 15, 25, 35]

[5, 15, 25, 35, 50]

[5, 15, 25, 35, 40, 50]

[5, 15, 25, 30, 35, 40, 50]

[5, 15, 20, 25, 30, 35, 40, 50]

[5, 10, 15, 20, 25, 30, 35, 40, 50]

2025年6月3日 星期二

for else

 for item in iterable:

    if condition:

        break

else:

    # 只有當 for 迴圈「**沒有被 break 中止**」時,才會執行這裡


while True:

try:

d =[i for i in input().split()]

dd = d[:1]

for i in range(1,len(d)):

for j in range(len(dd)):

if dd[j][0]>=d[i][0]:

dd.insert(j,d[i])

break

else:

dd.append(d[i])

print(*dd)

except:

break