for i in range(10):
print(i, sep = ',', end = '')
它应该是0,1,2,3,4,5,6,7,8,9
,但事实是
sep
不起作用。谢谢!
答案 0 :(得分:2)
可选的sep
参数用于定义以逗号分隔的参数值之间的分隔符,这些参数值被馈送到objects
的{{1}}参数。 print
是一个变量参数参数,这意味着它可以接受任意数量的参数(或者解压缩的可迭代参数)。
来自docs:
打印(* objects,sep ='',end =' \ n',file = sys.stdout,flush = False)
打印 对象到文本流文件,由sep分隔,后跟end。 sep,end和file(如果存在)必须作为关键字参数给出。
所有非关键字参数都转换为字符串,如str()和 写入流,由sep分隔,然后结束。两个sep 并且必须是字符串;它们也可以是None,这意味着使用 默认值。如果没有给出对象,print()将只写入结束。
编写代码的更好方法如下:
objects
这使用print(*range(10), sep=',', end='')
运算符来解包迭代,并将其每个元素作为参数提供给*
函数。
相当于:
print
答案 1 :(得分:1)
在此循环中,i
始终是一位数整数,不能分开。
就像这样:
print("1", sep=',', end='')
print("2", sep=',', end='')
print("3", sep=',', end='')
...