为什么'seq'不能循环工作?

时间:2015-03-23 07:58:38

标签: python

for i in range(10):
    print(i, sep = ',', end = '')

它应该是0,1,2,3,4,5,6,7,8,9,但事实是 enter image description here sep不起作用。谢谢!

2 个答案:

答案 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='')
...