Python中print函数end设为空格后末尾出现%的问题求助
解决Python代码输出末尾出现%符号的问题
这个%符号不是Python代码输出的,是你使用的shell(比如zsh)的提示符标记——当命令输出没有以换行结尾时,shell会在输出末尾添加这个%,用来区分命令输出内容和下一个命令的输入提示符。
解决办法有两个:
给代码补上末尾的换行:
在循环结束后加一行空的print(),让输出以换行结尾,shell就不会补这个符号了:for i in range(10): print(i, end=" ") print()修改shell配置关闭这个标记:
如果你用的是zsh,编辑~/.zshrc文件,添加一行PROMPT_EOL_MARK="",然后执行source ~/.zshrc让配置生效,或者重启VSCode的终端。
至于终端或IDLE中运行正常的原因:IDLE的输出机制和shell不同,不会处理无换行的输出;而如果你的系统终端用的是bash,默认也不会显示这个末尾标记,只有zsh等部分shell有这个行为。
内容的提问来源于stack exchange,提问作者stanley nar
相关产品推荐
相关产品推荐

