python 中 * 与 range() 有何作用?

Bri*_*shi 1 python range sequence python-3.x

我正在做一个 Hackerrank python 问题,任务是在不使用任何字符串函数的情况下打印123...NN输入在哪里)。

有人评论了一个解决方案:

print(*range(1, int(input())+1), sep='')
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这里的 * 与 range() 函数有什么用?
  2. 为什么我们不能仅在打印中使用 range() 函数来做到这一点?
  3. 还有其他方法可以做到这一点吗?

che*_*ner 7

“解*包”一个可迭代对象,以便每个元素作为单独的参数传递,而不是函数接收可迭代对象作为单个参数:

>>> print(range(1,3))
range(1, 3)
>>> print(*range(1,3))
1 2
>>> print(1,2)
1 2
Run Code Online (Sandbox Code Playgroud)