北郵 7 4 解析車間裡的閥門狀態

2021-10-10 02:34:26 字數 1419 閱讀 5014

cpu通過乙個8位io口讀取了1個位元組的內容,現在儲存在乙個bytes物件裡,示例: b』\x45』;這8位分 別代表了車間裡8個閥門的當前狀態,1表示該閥門通,0表示該閥門斷。請設計乙個程式,從bytes物件解析出8個 閥門的當前狀態,true表示通,false表示斷。這8個狀態應組織在乙個列表中,其中,第i個元素對應輸入位元組的第i 位。

輸出格式示例:[true, false, false, true, true,true,false,false]

輸入格式:

形如 b』\x45』的單位元組bytes。(注意是16進製制)

輸出格式:

包含8個布林值的列表。其中,第i個元素代表輸入位元組的第i位(從低到高分別是0 ~ 7位)。

[true, false, true, false, false, false, true, false]

輸入樣例:

b』\x01』

輸出樣例:

[true, false, false, false, false, false, false, false]

這道題真的是狗…

開始的時候在糾結如何輸入bytes型別資料,然後使用庫函式卻轉換進製結果不正確,實在崩潰。

迫於時間,寫了乙個直接字串讀取,然後拼接轉換的計算表達

#進製轉換

defconvert

(num)

: ans =

0if num >=

'a':

ans =10+

ord(num)

-ord

('a'

)else

: ans =

int(num)

strans =

bin(ans)

.replace(

'0b',''

) zerostr =

''if

len(strans)

<4:

for it in

range

(len

(strans),4

):zerostr +=

'0' reans = zerostr + strans

return reans

str1 =

input()

ans = convert(str1[4]

)+ convert(str1[5]

)#print(ans)

anslist =

for it in ans[::

-1]:

ifint

(it)==1

:bool(1

))else

:bool(0

))print

(anslist,end=

'')

北郵 矩陣冪

給定乙個n n的矩陣,求該矩陣的k次冪,即p k。第一行 兩個整數n 2 n 10 k 1 k 5 兩個數字之間用乙個空格隔開,含義如上所示。接下來有n行,每行n個正整數,其中,第i行第j個整數表示矩陣中第i行第j列的矩陣元素pij且 0 pij 10 另外,資料保證最後結果不會超過10 8。對於每...

北郵OJ打牌

牌只有1到9,手裡拿著已經排好序的牌a,對方出牌b,用程式判斷手中牌是否能夠壓過對方出牌。規則 出牌牌型有5種 1 一張 如4 則5.9可壓過 2 兩張 如44 則55,66,77,99可壓過 3 三張 如444 規則如 2 4 四張 如4444 規則如 2 5 五張 牌型只有12345 23456...

北郵OJ虛數

乙個複數 x iy 集合,兩種操作作用在該集合上 1 pop 表示讀出集合中複數模值最大的那個複數,如集合為空 輸出 empty 不為空就輸出最大的那個複數並且從集合中刪除那個複數,再輸出集合的大小size 2 insert a ib 指令 a,b表示實部和虛部 將a ib加入到集合中 輸出集合的大...