Python代码输出含括号逗号问题:如何实现无符号分隔的目标输出
问题解决方法
你的代码里,vote_count == 100, "only", 100 - vote_count, "left"会生成一个元组,所以print(target)会输出元组的默认格式。要得到你想要的空格分隔输出,试试下面几种方法:
方法1:直接给print传多个参数
print函数会自动用空格分隔传入的多个参数,最简单直接:
vote_count = 99 print(vote_count == 100, "only", 100 - vote_count, "left")
方法2:使用f-string拼接字符串
把各个元素格式化到一个字符串里,可读性好:
vote_count = 99 target = f"{vote_count == 100} only {100 - vote_count} left" print(target)
方法3:用str.join()拼接
需要把布尔值和数字转成字符串,再用空格连接:
vote_count = 99 target = " ".join([str(vote_count == 100), "only", str(100 - vote_count), "left"]) print(target)
为什么原来的输出是元组?
Python中,用逗号分隔的多个表达式会被解析为元组字面量,所以你的target变量其实是(False, 'only', 1, 'left')这个元组,print元组时会按照它的默认字符串表示输出,也就是带括号和引号的格式。
内容的提问来源于stack exchange,提问作者Youssef Elsaber
相关产品推荐
相关产品推荐

