python - 如何检查输入是否为二进制格式(1 和 0)?

标签 python python-2.7

我已经制作了一个程序,但是如果用户输入不是二进制格式,我想添加一个异常(exception)。我试过很多次添加异常(exception),但我似乎无法让它工作。下面是程序代码。如果有人可以提供帮助,我将不胜感激。

import time
error=True
n=0
while n!=1:
    print"***Welcome to the Bin2Dec Converter.***\n"
    while error:
        try:
            bin2dec =raw_input("Please enter a binary number: ")
            error=False
        except NameError: 
            print"Enter a Binary number. Please try again.\n"
            time.sleep(0.5)
        except SyntaxError: 
            print"Enter a Binary number. Please try again.\n"
            time.sleep(0.5)


        #converts bin2dec
        decnum = 0 
        for i in bin2dec: 
            decnum = decnum * 2 + int(i)
            time.sleep(0.25)
        print decnum, "<<This is your answer.\n" #prints output

最佳答案

最好请求原谅。尝试使用 int(value, 2) 将其转换为整数:

while True:
    try:
        decnum = int(raw_input("Please enter a binary number: "), 2)
    except ValueError:
        print "Enter a Binary number. Please try again.\n"
    else:
        break

print decnum

关于python - 如何检查输入是否为二进制格式(1 和 0)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18812047/

相关文章:

python - Pandas - 基于 bool DataFrame 替换 DataFrame 中的值

python - 'utf 8' codec can' t 解码字节 0xbd CSV 文件 1/2 字符

python - 将 Simpy 模拟时间链接到 Python 日历以执行工作日特定操作

python - 使用 SlopeOne 算法预测玩家是否可以完成游戏中的关卡?

Python Decimal to string 产生奇怪的科学记数法

mysql - 如何将mysql数据库中的python时间戳转换为SQL查询中的日期

python - 获取除numpy数组的第一个和最后一个元素之外的所有元素

python - matplotlib。如何在子图之间切换,而不是从头开始重新绘制它们?

python - 检查下一个值是否等于python循环中的当前值?

python - 替换 Linux 中已安装的 python 包中的源代码