在 int 等中转换 bin [python]

Converting bin in int etc. [python]

我制作了一个程序,可以将 二进制 数字转换为 十进制。 用户被要求输入一个数字,有一个布尔检查用于查找是否是一个 bin 编号,如果是这样,它应该将 bin 转换为十进制数。 问题:我得到一个错误 invalid literal for int() with base 10: '0b11001'

代码:

def binToDec(n):
    return int(n)


def Umwandlung():
    n = input("Eine Zahl eingeben: ")
    if type(n)==str:
        binToDec(n)
    else:
        return "Nicht moeglich"

尝试将 int(n) 更改为 int(n, 2)

我认为最 pythonic 的方法是将它放在 try ... except 块中并捕获 ValueError:

n = input("Eine Zahl eingeben: ")
try:
    print(int(n, 2))
except ValueError:
    print("Nicht möglich")