#24360: Python简单解法


svip888886@gmail.com (Paranoid)

學校 : 不指定學校
編號 : 144606
來源 : [45.145.81.23]
最後登入時間 :
2021-02-15 08:21:08
d681. BinaryCount -- 葆葆 | From: [45.145.81.23] | 發表日期 : 2021-02-09 00:43

可以直接调用eval函数,其用法为eval(字符串),使用后可以直接返回字符串运算式的结果

 

但仍需注意的是:

1.二进制数为0b开头,如0b10111

2.位运算符号是&和|,而不是&&和||

3.本题运算符无优先计算顺序,只需要从左到右执行

 
#42530: Re: Python简单解法


sam851015@gmail.com (多挖鼻孔有益身心健康)

學校 : 不指定學校
編號 : 277705
來源 : [123.192.228.253]
最後登入時間 :
2024-11-21 19:18:13
d681. BinaryCount -- 葆葆 | From: [123.192.228.253] | 發表日期 : 2024-09-30 12:45

eval() 被禁了,不能用,替代方案是把題目給的二進位數字都轉成十進位再處理

 

可以使用 int("二進位數字", 2) 將一個二進位數字轉成十進位,轉換時二進位數字的格式有沒有 0b 開頭都無所謂,python 都可以處理

 

最後記得輸出時依然要轉換成二進位數字就好,十進位數字轉二進位數字的語法是 bin(),括號裡面放 int 格式的十進位數字
會回傳一組以0b開頭的十進位數字字串,記得要把 0b 去掉,如果長度不夠(題目要5個字元),記得要補 0

 

 
ZeroJudge Forum