我正在尝试解决 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/