入坑codewars第二天-Basic Mathematical Operations、Ones and Zeros

 

一、題目

需要實現 +對應加法

需要實現 -對應減法

……

以此類推

二、求解

簡單的if語句

二、題二

題意就是:將列表中的數字看成一串二進制然後轉成十進制數

我的思路是:先把列表顛倒,這裏注意列表a,a.reverse()就直接把a顛倒了;因爲二進制是從右到左讀,因此我先顛倒從左往右方便計算。

(1)先顛倒列表:

(2)循環用列表數字乘以2^n

(3)依次相加

代碼如下:

def binary_array_to_number(arr):
    arr.reverse()
    sum1=0
    i=0
    for x in arr:
        sum1=sum1+(2**i)*x
        i=i+1
    return sum1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章