📌  相关文章
📜  在不使用循环的情况下,如何打印从1到100的数字?(1)

📅  最后修改于: 2023-12-03 14:51:22.999000             🧑  作者: Mango

如何不使用循环打印从1到100的数字

有时候,我们会遇到一些问题,需要在不使用循环语句的情况下完成。本文将介绍如何在不使用循环的情况下,打印从1到100的数字。

方法一 利用递归

递归是指在函数运行过程中调用自己的一种技巧。我们可以使用递归实现从1到100的数字打印,具体步骤如下:

  1. 定义一个递归函数 print_number(int num),该函数的作用是打印从1到num的数字,并调用自身继续打印。
  2. 在 print_number 函数中,先判断 num 是否小于等于100,如果是,则打印 num,并调用 print_number(num+1) 继续打印。
  3. 在主程序中,调用 print_number(1) 开始打印。

下面是具体的代码实现:

def print_number(num):
    if num <= 100:
        print(num)
        print_number(num+1)

if __name__ == '__main__':
    print_number(1)
方法二 利用生成器

生成器是指一种特殊的函数,它可以在运行过程中暂停并保存当前状态,下次调用时可以回到之前的状态继续执行。我们可以使用生成器实现从1到100的数字打印,具体步骤如下:

  1. 定义一个生成器函数 print_number(),该函数的作用是生成从1到100的数字,并使用 yield 关键字返回每一个数字。
  2. 在主程序中,使用 for 循环遍历 print_number() 函数的返回值,并打印每一个数字。

下面是具体的代码实现:

def print_number():
    num = 1
    while num <= 100:
        yield num
        num += 1

if __name__ == '__main__':
    for num in print_number():
        print(num)

综上所述,我们可以使用递归或生成器的方式,在不使用循环的情况下完成从1到100的数字打印。