在 Python 中打印一系列数字
Print a range of numbers in Python
使用拆包在同一行上打印一系列数字,例如
print(*range(1, 11))
. print()
可迭代解包运算符使我们能够在调用函数时解包一个可迭代对象,例如一个范围。
主程序
# 👇️ 1 2 3 4 5 6 7 8 9 10 print(*range(1, 11)) # 👇️ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(list(range(1, 11))) # 👇️ [1, 3, 5, 7, 9] print(list(range(1, 11, 2))) # 👇️ 1 2 3 4 5 6 7 8 9 10 for num in range(1, 11): print(num, end=' ')
第一个示例使用可迭代拆包运算符在同一行上打印一系列数字。
*可迭代解包运算符
使我们能够在函数调用、推导式和生成器表达式中解包可迭代对象。
主程序
example = (*(1, 2), 3) # 👇️ (1, 2, 3) print(example)
range类通常用于在循环中循环特定次数,for
并采用以下参数:
姓名 | 描述 |
---|---|
start |
表示范围开始的整数(默认为0 ) |
stop |
向上,但不包括提供的整数 |
step |
范围将由每 N 个数字组成,从start 到stop (默认为1 ) |
如果你range()
直接打印一个对象,你将看不到它包含的数字。
主程序
print(type(range(1, 10))) # 👉️ <class 'range'>
使用list()
该类打印范围对象,例如
print(list(range(1, 11)))
. 该类list()
会将范围对象转换为列表,因此我们可以打印范围包含的数字。
主程序
# 👇️ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(list(range(1, 11)))
如果您只将单个参数传递给range()
构造函数,则它被认为是stop
参数的值。
主程序
for n in range(5): print(n) result = list(range(5)) # 👇️ [0, 1, 2, 3, 4] print(result)
该示例表明,如果
start
省略参数,则默认为0
,如果step
省略参数,则默认为1
.如果提供了start
和stop
参数的start
值,则该值是包含性的,而该stop
值是独占性的。
主程序
result = list(range(1, 5)) # 👇️ [1, 2, 3, 4] print(result)
如果stop
参数的值低于参数的值start
,则范围将为空。
主程序
result = list(range(1, 0)) # 👇️ [] print(result)
我们将start
1 的 astop
和 0 的 a 传递给range()
类,因此范围对象为空。
您还可以使用for
循环在同一行上打印一系列数字。
主程序
# 👇️ 1 2 3 4 5 6 7 8 9 10 for num in range(1, 11): print(num, end=' ')
我们在函数end
调用中将参数设置为空格print()
。
该end
参数打印在消息的末尾。
默认情况下,end
设置为换行符 ( \n
)。
如果省略参数,则范围内的每个数字都将打印在单独的行上。