如何去除Python十进制转二进制脚本打印的末尾%符号
解决十进制转二进制脚本末尾的%符号问题
嘿,那个烦人的%符号其实不是你的Python脚本输出的!它是终端(比如zsh这类shell)的命令提示符——因为你用了print(..., end="")让所有二进制数字连在一起输出,但最后没有加换行符,终端就直接在当前行末尾显示了它的提示符,看起来像是输出的一部分。
快速解决办法
在你的循环结束后,加一个不带任何参数的print(),它会自动输出一个换行符,把终端提示符推到下一行:
first=int(input("input a decimal number to convert to a binary: ")) toBase=2 first2=first char=0 char2=0 char3=0 while first2!=0: first2//=2 char+=1 binNum=[0]*char while first!=0: rem=first%2 first//=2 binNum[char2]=rem char2+=1 for loop in range(char): char3-=1 print(binNum[char3],end="") print() # 新增这一行,输出换行
额外小技巧:用Python内置函数简化代码
其实Python自带了十进制转二进制的内置函数bin(),可以帮你省去手动写循环的麻烦:
decimal_num = int(input("input a decimal number to convert to a binary: ")) binary_num = bin(decimal_num)[2:] # [2:]去掉开头的'0b'前缀 print(binary_num)
这样输出的结果自动带换行,也不会出现提示符混在一起的问题啦~
内容的提问来源于stack exchange,提问作者Bechara Rizk
相关产品推荐
相关产品推荐

