0

我正在使用 Fizz Buzz 练习来学习一些关于 python 的知识。我已经硬编码了 1-100 的范围,但我很好奇如何通过使用参数将范围传递给函数来实现相同的结果?

numbers = range (1,101)
def fizzbuzz(numbers):
    for each in numbers:
        if each % 3 == 0 and each % 5 == 0:
            print "fizzbuzz"
        elif each % 3 == 0:
            print "fizz"
        elif each % 5 == 0:
            print "buzz"
        else:
            print each
print fizzbuzz(numbers)
4

2 回答 2

1

您可以使用 Python 的 itertools.count 并仅传入最大值。

https://docs.python.org/2/library/itertools.html

def fizzbuzz(num):
    for i in itertools.count(start=1,step=1):
        if (i==num):
            break
        ..fizzbuz logic

fizzbuzz(num)
于 2014-12-10T18:22:14.633 回答
-1
def fizzbuzz(num_range):
    for each in num_range:
        if each % 3 == 0 and each % 5 == 0:
            print "fizzbuzz"
        elif each % 3 == 0:
            print "fizz"
        elif each % 5 == 0:
            print "buzz"
        else:
            print each

print fizzbuzz(range (1,101))
于 2014-12-10T18:21:59.107 回答