我需要在最后一个位置不带逗号打印
I need to print without comma in last position
n = int(input("Enter a number :-"))
for i in range(1, 11):
print(i*n, end = ",")
当我尝试这个程序时,在输出中我在最后一个位置有一个逗号。但我不想要这个逗号。如何删除逗号?
我只是将它编码为 乘法 table.
输出:
8,16,24,32,40,48,56,64,72,80,
您可以在打印前查看索引
n = int(input("Enter a number :-"))
for i in range(1, 11):
end = "," if i < 10 else ""
print(i*n, end = end)
最好的方法是使用 Join 函数
using 使用生成器表达式:
def gen_num(n,count):
for i in range(1, count):
yield str(i*n)
print(",".join(list(gen_num(8,11))))
使用列表理解
n = 8
print(",".join([str(x*n) for x in range(1,11)]))
结果:8,16,24,32,40,48,56,64,72,80
Python 可让您使用 join
:
轻松完成此操作
n = int(input("Enter a number: "))
print(','.join(str(i*n) for i in range(1, n))) # surely, range(1, n) not range(1, 11)
对于更复杂的情况,常见的解决方案是 前缀 除了第一个之外的每个项目。
n = int(input("Enter a number: "))
sep = ""
for i in range(1, n): # same fix here
print("%s%i" % (sep, i*n), end = "")
sep = "," # add a delimiter on each subsequent iteration
使用自定义分隔符生成一个系列,您一次性将其传递给 print
,而不需要在单独的 print
调用中找出正确的行尾:
print(*(i*n for i in range(1, 11)), sep=',')
这个 *
将生成器 (i*n for i in range(1, 11))
解包为 print
的参数,本质上等同于:
print(8, 16, 24, ..., sep=',')
n = int(input("Enter a number :-"))
for i in range(1, 11):
print(i*n, end = ",")
当我尝试这个程序时,在输出中我在最后一个位置有一个逗号。但我不想要这个逗号。如何删除逗号? 我只是将它编码为 乘法 table.
输出: 8,16,24,32,40,48,56,64,72,80,
您可以在打印前查看索引
n = int(input("Enter a number :-"))
for i in range(1, 11):
end = "," if i < 10 else ""
print(i*n, end = end)
最好的方法是使用 Join 函数
using 使用生成器表达式:
def gen_num(n,count):
for i in range(1, count):
yield str(i*n)
print(",".join(list(gen_num(8,11))))
使用列表理解
n = 8
print(",".join([str(x*n) for x in range(1,11)]))
结果:8,16,24,32,40,48,56,64,72,80
Python 可让您使用 join
:
n = int(input("Enter a number: "))
print(','.join(str(i*n) for i in range(1, n))) # surely, range(1, n) not range(1, 11)
对于更复杂的情况,常见的解决方案是 前缀 除了第一个之外的每个项目。
n = int(input("Enter a number: "))
sep = ""
for i in range(1, n): # same fix here
print("%s%i" % (sep, i*n), end = "")
sep = "," # add a delimiter on each subsequent iteration
使用自定义分隔符生成一个系列,您一次性将其传递给 print
,而不需要在单独的 print
调用中找出正确的行尾:
print(*(i*n for i in range(1, 11)), sep=',')
这个 *
将生成器 (i*n for i in range(1, 11))
解包为 print
的参数,本质上等同于:
print(8, 16, 24, ..., sep=',')