python - 检查字符串是否为二进制

标签 python

我正在尝试解决 python 编程挑战,该挑战需要一个程序来检查字符串是否为二进制。如果字符串是二进制,则应返回“true”。否则,它应该返回“false”。

当我运行代码时,它会迭代字符串并打印“true”或“false”,具体取决于字符串中的值是否为“0”和“1”。 。尽管我尝试了几种方法,但最终还是以垂直显示 bool 值告终。

binary = {'0', '1'}
def is_binary(string):
    for i in str(string):
        if i in binary:
            print('true')
        else:
            print('false')
            break
is_binary('101010')
is_binary('101210')

如何修改代码,以便能够在字符串为二进制时打印单个“true”语句,以及在字符串非二进制时打印单个“false”语句,无论字符串的长度如何?

最佳答案

你做这样的事情:

def is_binary(str):
    is_binary = True
    try:
        int(str, 2)
    except ValueError:
        is_binary = False
    return is_binary


is_binary('0101010101010') # returns True
is_binary('24340101041042101010') # returns False

我已经使用 int 转换为二进制,Please refer here to learn

关于python - 检查字符串是否为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54304129/

相关文章:

python - 在相同 ID 出现超过 n 次的 Pandas 中保留行,并按 ID 转换为列表

python - 在 OpenCV/Python 中设置相机参数

python - 一行中从列表末尾算起的单词数

python - 如何获取 Pandas DataFrame 最近 5 个月的数据?

python - 替换csv文件python的第一行

python - openerp 中的 rml 报告

python - Pandas :在 groupby 'date' 中删除重复项

Python Eve - REST API additional_lookup 不工作

python - 使用 for 循环更改多列的类别类型

原始模式下的Python stdin 打印添加空格