簡體   English   中英

我正在編寫將二進制數轉換為十進制數的代碼,這就是我所做的,有人可以告訴我哪里錯了,(我進入 Python 1 個月

[英]I am making a code to turn a Binary number into decimal number, This is what I have done, Can someone tell where I am wrong, (i am 1 month into Python

n = int(input("Enter the binary number : "))

n_into_str = str(n)
lenf = len(n_into_str)


def calculate(n):
    ans = 0
    for i in range(lenf):
        z = n%10
        power = 2**i
        k = z*power
        value = z
        ans = ans + z
        
    print(ans)

calculate(n)

你幾乎很好,但你需要ans = ans + kans = ans + z ,並將n除以 10,以刪除最后一個數字

對 select 數字使用數學運算的版本

def calculate(n: int):
    ans = 0
    for i in range(len(str(n))):
        z = n % 10
        n = n // 10
        power = 2 ** i
        k = z * power
        ans = ans + k
    print(ans)

n = int(input("Enter the binary number : "))
calculate(n)

使用字符串索引到 select 數字的版本

def calculate(n: str):
    ans = 0
    for i, digit in enumerate(reversed(n)):
        power = 2 ** i
        k = int(digit) * power
        ans = ans + k
    print(ans)

n = input("Enter the binary number : ")
calculate(n)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM