为什么我的函数不打印翻转后的二进制字符串?请帮忙谢谢
Why does my funcion not print the flipped binary string? Please help thank you
我正在尝试编写一个函数 flip(binary string),它接受一个二进制字符串(一个仅包含 1 和 0 的字符串)和 return 一个新字符串,其中每一位都
翻转。
def flip(binary_string):
flip_string = ''
l =len(binary_string)
i=0
while i < l:
if 'i' in binary_string== '1':
flip_string += '0'
elif 'i' in binary_string== '0':
flip_string += '1'
i = i + 1
return flip_string
print(flip('101'))
if 'i' in binary_string== '1':
- 这是一个等于 'i' in binary_string and binary_string == '1'
的链式比较,计算结果为 False
。 来自@deceze 评论。
最后,flip_string
将为空。所以它打印一个空字符串。
您的代码应该是这样的:
def flip(binary_string):
flip_string = ''
l =len(binary_string)
i=0
while i < l:
if binary_string[i] == '1':
flip_string += '0'
else:
flip_string += '1'
i = i + 1
return flip_string
print(flip('10101'))
def flip(binary_string):
flip_string = ''
l =len(binary_string)
i=0
while i < l:
if binary_string[i]=='1':
flip_string += '0'
elif binary_string[i]== '0':
flip_string += '1'
i = i + 1
return flip_string
print(flip('101'))
我正在尝试编写一个函数 flip(binary string),它接受一个二进制字符串(一个仅包含 1 和 0 的字符串)和 return 一个新字符串,其中每一位都 翻转。
def flip(binary_string):
flip_string = ''
l =len(binary_string)
i=0
while i < l:
if 'i' in binary_string== '1':
flip_string += '0'
elif 'i' in binary_string== '0':
flip_string += '1'
i = i + 1
return flip_string
print(flip('101'))
if 'i' in binary_string== '1':
- 这是一个等于 'i' in binary_string and binary_string == '1'
的链式比较,计算结果为 False
。 来自@deceze 评论。
最后,flip_string
将为空。所以它打印一个空字符串。
您的代码应该是这样的:
def flip(binary_string):
flip_string = ''
l =len(binary_string)
i=0
while i < l:
if binary_string[i] == '1':
flip_string += '0'
else:
flip_string += '1'
i = i + 1
return flip_string
print(flip('10101'))
def flip(binary_string):
flip_string = ''
l =len(binary_string)
i=0
while i < l:
if binary_string[i]=='1':
flip_string += '0'
elif binary_string[i]== '0':
flip_string += '1'
i = i + 1
return flip_string
print(flip('101'))