📜  python中的fizzbuzz(1)

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

Python中的FizzBuzz

FizzBuzz 是一个编程题目,要求程序员在不使用条件语句(如 if 语句)的情况下,从 1 到 100 打印出数字。但是当数字能被 3 整除时,输出 "Fizz"。能被 5 整除时,输出 "Buzz"。如果能同时被 3 和 5 整除,输出 "FizzBuzz"。

以下是 Python 中实现 FizzBuzz 的示例代码:

for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

以上代码使用了 for 循环和条件语句实现了 FizzBuzz。但是如果要求不使用条件语句,可以使用 Python 的列表解析(List comprehension):

print(["FizzBuzz" if i % 15 == 0 else "Fizz" if i % 3 == 0 else "Buzz" if i % 5 == 0 else i for i in range(1, 101)])

以上代码将 FizzBuzz 的结果作为列表打印出来。该代码使用了列表解析和三元运算符来实现,可以在不使用条件语句的情况下生成 FizzBuzz 的结果。

除了使用列表解析,还可以使用递归来实现 FizzBuzz:

def fizzbuzz(n):
    if n > 1:
        fizzbuzz(n-1)
    print("FizzBuzz" if n % 15 == 0 else "Fizz" if n % 3 == 0 else "Buzz" if n % 5 == 0 else n)

fizzbuzz(100)

以上代码定义了一个名为 fizzbuzz 的递归函数来实现 FizzBuzz。该函数接受一个参数 n,表示打印数字的范围(从 1 到 n)。函数先递归地调用 fizzbuzz(n-1),然后输出当前数字的结果,使用了三元运算符来实现不使用条件语句的判断。

总之,Python 中实现 FizzBuzz 有多种方式,可以使用循环、条件语句、列表解析、递归等多种语法来实现。对于初学者来说,使用循环和条件语句实现是比较容易理解和操作的方式,而使用列表解析和递归则需要一定的 Python 编程经验。