【问题标题】:Python, Fizz Buzz inserting the range as a parameter of the functionPython,Fizz Buzz 将范围作为函数的参数插入
【发布时间】:2014-12-10 18:20:10
【问题描述】:

我正在使用 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)

【问题讨论】:

  • 看来你知道如何...
  • 你的意思是fizbuzz(range(3,201)),还是修改要调用的函数为fizzbuzz(3, 201)?您已经将范围对象作为参数传入。

标签: python fizzbuzz


【解决方案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)

【讨论】:

    【解决方案2】:
    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))
    

    【讨论】:

    • 或者使用可选参数做一些事情:def fizzbuzz(min = 1, max = 101): for each in range(min, max)
    • @BryanOakley TY!固定!
    猜你喜欢
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2014-03-07
    • 2018-02-02
    • 2021-12-03
    • 1970-01-01
    相关资源
    最近更新 更多