Python如何实现整型数值多行输出?现有代码运行异常求解决
问题原因
- Python中用逗号分隔多个值赋值给单个变量时,会自动将这些值封装为元组类型,你代码里的
c最终是一个元组对象,直接print元组会输出完整的元组结构(包括括号、字符串的引号等),而不是按你想要的格式输出内容。 - 额外注意:你贴的实际输出里的
2属于笔误,正常运行a=3、b=5时a-b的结果是-2。
修复方案
下面列几个可行的修改方式:
方案1:用f-string拼接成完整字符串(最直观)
如果需要实现你期望的正负号对齐效果,可以在格式化符前加空格实现正数前补空格:
a = 3 b = 5 c = f"{a+b: d}\n{a-b:d}\n{a*b: d}" print(c)
运行输出完全符合预期:
8 -2 15
方案2:直接用print的sep参数指定分隔符
不需要额外定义变量c,直接把要输出的内容传给print,用sep参数指定换行作为分隔符即可:
a = 3 b = 5 print(f"{a+b: d}", a-b, f"{a*b: d}", sep='\n')
方案3:用str.join拼接序列
如果要输出的内容较多,可以先整理成字符串列表再用换行符拼接:
a = 3 b = 5 output_list = [f"{a+b: d}", str(a-b), f"{a*b: d}"] c = '\n'.join(output_list) print(c)
内容的提问来源于stack exchange,提问作者SushantUniversity
相关产品推荐
相关产品推荐

