Python 我需要在最后一个位置打印不带逗号

Python 我需要在最后一个位置打印不带逗号,python,comma,Python,Comma,当我尝试这个程序时,在输出中的最后一个位置有一个逗号。但我不想要这个逗号。如何删除逗号? 我只是把它编码成一个乘法表 输出: 8,16,24,32,40,48,56,64,72,80,您可以在打印前检查索引 n = int(input("Enter a number :-")) for i in range(1, 11): print(i*n, end = ",") n=int(输入(“输入一个数字:-”)) 对于范围(1,11)内的i: end

当我尝试这个程序时,在输出中的最后一个位置有一个逗号。但我不想要这个逗号。如何删除逗号? 我只是把它编码成一个乘法表

输出:
8,16,24,32,40,48,56,64,72,80,

您可以在打印前检查索引

n = int(input("Enter a number :-"))
for i in range(1, 11):
    print(i*n, end = ",")
n=int(输入(“输入一个数字:-”))
对于范围(1,11)内的i:
end=“,”如果i<10,则为“其他”
打印(i*n,结束=结束)

最好的方法是使用连接函数

def gen_num(n,count):
    for i in range(1, count):
        yield str(i*n)

print(",".join(list(gen_num(8,11))))
使用生成器表达式:

n = int(input("Enter a number :-"))
for i in range(1, 11):
    end = "," if i < 10 else ""
    print(i*n, end = end)
使用列表理解

def gen_num(n,count):
    for i in range(1, count):
        yield str(i*n)

print(",".join(list(gen_num(8,11))))

结果:
8,16,24,32,40,48,56,64,72,80

Python让您可以通过
join
轻松实现这一点:

n=int(输入(“输入一个数字”))
打印(','.join(str(i*n)表示范围(1,n)内的i)#当然,范围(1,n)不是范围(1,11)
对于更复杂的情况,一个常见的解决方案是为每个项目添加前缀,第一个项目除外

n=int(输入(“输入一个数字”))
sep=“”
对于范围(1,n)内的i:#这里的修正相同
打印(“%s%i”%(九月,i*n),结束=”)
sep=“,”#在每个后续迭代中添加分隔符

生成一个系列,您可以使用自定义分隔符一次性将其传递到
打印
中,而无需在单独的
打印
调用中找出正确的行尾:

n = 8
print(",".join([str(x*n) for x in range(1,11)]))
*
将生成器
(i*n表示范围(1,11)中的i)解包为
打印的参数,本质上等同于:

print(*(i*n for i in range(1, 11)), sep=',')

FWIW,
[]
是多余的。您可以在此处使用生成器表达式而不是列表理解。@deceze感谢您的建议:我在其中也更新了生成器表达式。嗯,不,这是一个更复杂的生成器函数。我所说的就是打印(“,”).join(str(x*n)表示范围(1,11)内的x)
就足够了…
print(“,”。join(str(x*n)表示范围(1,11))内的x)