为何Python print语句变量逐行输出?添加end=""无效如何解决?
解决方案
核心问题分析
你遇到的情况要么是多次单独调用print输出每个变量/逗号,要么是单个print语句的sep参数被设置成了换行符(导致每个参数间自动换行)。
两种解决办法
1. 合并到单个print语句(推荐)
把所有要输出的内容放在同一个print里,通过sep=""参数去掉参数之间的默认空格,就能让所有内容连续输出在同一行:
print(last_name, ",", first_name, ",", town, ",", state, ",", age, sep="")
比如last_name="Smith"、first_name="John"时,输出就是Smith,John,New York,NY,30。
2. 给每个单独的print加end=""
如果因为某些原因必须分开调用print(比如每个变量输出前有额外逻辑),给每一个print都加上end="",这样每个输出后不会自动换行:
print(last_name, end="") print(",", end="") print(first_name, end="") print(",", end="") print(town, end="") print(",", end="") print(state, end="") print(",", end="") print(age) # 最后一个可以不加end,让输出结束后正常换行
内容的提问来源于stack exchange,提问作者Owen Z
相关产品推荐
相关产品推荐

