34. ? 發牌,每人發5張牌
//建立card二維串列,用來記錄玩家的撲克牌
card = [[] for i in range(0,player)] #二維串列,用來記錄玩家手牌
k=0
for i in range(0, 5):
for j in range(0, player):
card[j].append(deck[k])
k+=1
Lab 撲克牌梭哈(show hand)遊戲 5/12
34
player
card[[]] int int int int int
int int int int int
int int int int int
35. ? 統計玩家手牌之牌值
//建立rank二維串列,用來統計玩家各牌值撲克牌之張數,ACE牌可算1或14
rank = [[0 for i in range(14)] for j in range(player)]
for i in range(0, player):
for j in range(0, 5):
rank[i][card[i][j]%13] += 1
rank[i][13]=rank[i][0] //ACE牌也可當14點
Lab 撲克牌梭哈(show hand)遊戲 6/12
player
rank[[]] int int ... int
int int ... int
int int ... int
14
35
36. ? 檢查梭哈牌型:同花
#建立flush串列,用來記錄玩家的撲克牌是否為同花
flush = [False for i in range(player)]
#檢查玩家5張牌是否相同花色
for i in range(player):
flush[i] = (card[i][0]//13==card[i][1]//13==card[i][2]//13==card[i][3]//13==
card[i][4]//13)
Lab 撲克牌梭哈(show hand)遊戲 7/12
36
_Bool _Bool ... _Bool
player
flush[]
37. ? 檢查梭哈牌型:順子
#建立straight串列,用來記錄玩家的撲克牌是否為順子
straight = [False for i in range(player)]
#檢查玩家5張牌值是否為連續
for i in range(player):
for j in range(0, 10):
if (rank[i][j]==0): continue
for k in range(1, 5):
if (rank[i][j+k]==0): break
if (k==4):
straight[i]=True
Lab 撲克牌梭哈(show hand)遊戲 8/12
37
_Bool _Bool ... _Bool
player
straight[]
player
rank[[]] int int ... int
int int ... int
int int ... int
14
41. ? 顯?每位玩家之手牌及梭哈牌型
for i in range(player):
print('第%d位玩家:'%(i+1))
for j in range(5): #顯?玩家手牌內容
show_card(card[i][j])
print('n 梭哈牌型:', end='')
show_hand(i) #顯?玩家手牌梭哈牌型
Lab 撲克牌梭哈(show hand)遊戲 12/12
41
45. ? A為可儲存n筆整數的串列
A = […,…,…,……]
p = A[0]
q = A[0]
for I in range(n):
if A[i]>p:
p = A[i]
if A[i]<q:
q = A[i]
程式碼運算後,下列何者錯誤
A. p是A串列資料中的最大值
B. q是A串列資料中的最小值
C. q<p
D. A[0]<=p
自我評量 4/7
46. ? 下列程式執行後,輸出為何?
arr = [y for y in range(10)]
sum = 0
for i in range(1, 9)
sum = sum – arr[i-1] + arr[i] + arr[i+1]
print(sum)
A. 44
B. 52
C. 54
D. 63
自我評量 5/7
47. ? 執行下列程式,若依序輸入整數0,1,2,3,4,5,6,7,8,9
arr = [0 for x in range(10)]
for i in range(10):
arr[(i+2)%10] = eval(input())
則arr串列內容為何
A. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
B. [2, 0, 2, 0, 2, 0, 2, 0, 2, 0]
C. [9, 0, 1, 2, 3, 4, 5, 6, 7, 8]
D. [8, 9, 0, 1, 2, 3, 4, 5, 6, 7]
自我評量 6/7
48. ? 執行下列程式,輸出為何?
for i in range(1, 5):
A[i] = 2 + i * 4
B[i] = i * 5
C = 0
for i in range(1, 5):
if B[i]>A[i]:
C = C + (B[i] % A[i])
else:
C = 1
print(C)
A. 1
B. 4
C. 3
D. 333
自我評量 7/7