打印n的前m个倍数,而无需在Python中使用任何循环
在本教程中,我们将编写一个不使用循环即可找出数字n的m倍的程序。例如,我们有一个数字n = 4和m = 3,输出应为4、8、12。三的四的倍数。在此,主要约束是不使用循环。
我们可以使用range()函数获得所需的输出而无需循环。该range()
方法的作用是什么?range()函数返回一个范围对象,我们可以将其转换为迭代器。
让我们看看range()的语法。
语法
range(start, end, step)
算法
start - starting number to the range of numbersend - ending number to the range of numbers (end number is not included in the range)
step - the difference between two adjacent numbers in the range (it's optional if we don't mention then, it takes it as 1)
range(1, 10, 2) --> 1, 3, 5, 7, 9
range(1, 10) --> 1, 2, 3, 4, 5, 6, 7, 8, 9
示例
## working with range()## start = 2, end = 10, step = 2 -> 2, 4, 6, 8evens = range(2, 10, 2)
## converting the range object to list
print(list(evens))
## start = 1, end = 10, no_step -> 1, 2, 3, 4, 5, 6, 7, 8, 9
nums = range(1, 10)
## converting the range object to list
print(list(nums))
输出结果
如果运行上面的程序,您将得到以下结果。
[2, 4, 6, 8][1, 2, 3, 4, 5, 6, 7, 8, 9]
现在,我们将代码写入程序。让我们先看看步骤。
算法
现在,我们将代码写入程序。让我们先看看步骤。
1. Initialize n and m.2. Write a range() function such that it returns multiples of n.
3. Just modify the step from the above program to n and ending number to (n * m) + 1 starting with n.
请参见下面的代码。
示例
## initializing n and mn = 4
m = 5
## writing range() function which returns multiples of n
multiples = range(n, (n * m) + 1, n)
## converting the range object to list
print(list(multiples))
输出结果
如果运行上面的程序,您将得到以下结果。
[4, 8, 12, 16, 20]
结论
我希望您喜欢本教程,如果对本教程有任何疑问,请在评论部分中提及它们。
以上是 打印n的前m个倍数,而无需在Python中使用任何循环 的全部内容, 来源链接: utcz.com/z/330876.html