如何去除Python打印隐式换行符,实现二进制解码结果单行输出?
如何修改Python代码让二进制字符串解码结果在同一行输出?
你的问题很常见,本质是Python的print()函数默认会在输出末尾添加换行符,导致每个解码后的字符单独占一行。这里给你两种简单实用的解决办法:
方法1:修改print函数的end参数
直接在print()里指定end='',替换掉默认的换行符(\n),这样每次打印的字符就会连续输出在同一行。如果最后想要一个规范的收尾换行,可以单独再调用一次print():
codes = ['01000011', '01101111', '01101101', '01110000', '01110101', '01110100', '01100101', '01110010', '00100000', '01010011', '01100011', '01101001', '01100101', '01101110', '01100011', '01100101'] for c in codes: print(chr(int(c, 2)), end='') # 可选:最后添加换行,让输出格式更整洁 print()
运行后会得到一行完整结果:Computer Science
方法2:先拼接字符串再一次性打印
如果你的codes列表数据量较大,这种方法效率更高——先把所有解码后的字符拼接成一个完整字符串,再用一次print()输出:
codes = ['01000011', '01101111', '01101101', '01110000', '01110101', '01110100', '01100101', '01110010', '00100000', '01010011', '01100011', '01101001', '01100101', '01101110', '01100011', '01100101'] decoded_str = ''.join(chr(int(c, 2)) for c in codes) print(decoded_str)
这种方式输出结果和第一种完全一致,代码更简洁,处理大量数据时性能表现更好。
内容的提问来源于stack exchange,提问作者Alice
相关产品推荐
相关产品推荐

