我想把数字打印成 (输入数)的系数为1、2、5、10、50 但是用一个额外的逗号打印是这样的: 1,2,3,4,5
input_number = int(input("Enter A Number Please: "))
factors = []
for divisor in range(1, input_number+1):
mod = input_number % divisor
if mod == 0:
factors.append(divisor)
print("Factors of %i are - " % input_number)
for element in factors:
print(element, end=",")
如果要用给定的分隔符打印iterable的元素,应该将该iterable发送到
print
并解压,然后使用sep
参数,而不是用end
参数分别打印每个元素(如您所见,该参数将给定的字符串放在每个元素的“结尾”,包括最后一个)。你知道吗在Python中,
end
的print
关键字参数将指定作为第一个位置参数传入的字符串之后应该打印的内容。因此,在打印每个元素之后,您要告诉Python打印一个逗号(,
字符),这正是它所做的。你知道吗实现这一点的一种方法是使用array enumeration显式地不为数组中的最后一项设置
end
关键字参数,如下所示:实现这一点的另一种方法是将数组转换为字符串,然后使用^{} 方法,该方法将iterable的元素与“glue”字符串连接起来。你知道吗
请注意,强制转换到} 的Python文档。你知道吗
str
不应影响非字符串打印到标准输出的方式,因为打印时它们将隐式地强制转换为字符串。对于第二种方法,可以参考^{你可以试试这个:
相关问题 更多 >
编程相关推荐