打印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 numbers

end - 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, 8

evens = 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 m

n = 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

回到顶部