Jack 老師教學互動區
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