【问题标题】:How to do FizzBuzz challange with python?如何用 python 进行 FizzBu​​zz 挑战?
【发布时间】:2023-01-20 20:29:55
【问题描述】:

我试图用 python 解决 fizzbuzz interwiev 问题,但我的代码有问题。 Fizzbuzz:为 x 数创建一个循环,并声明其范围在 1 到 100 之间。如果 x 数可以被 3 整除,则写入 fizz,如果 x 数可以被 5 整除,则写入 buzz,如果 x 数可以被 3 & 5 整除,则写入 fizzbuzz。

所以下面的代码有什么问题是循环从 2 开始到 101 结束。非 Fizzbuzz 只是 fizz 和 buzz 文本。我是 Python 的新手,所以如果你们帮助我,我将不胜感激。谢谢。

注意:我确实看到了其他 fizzbuzz 问题和答案,但我无法理解它们,所以我发布了这个在 stackoverlow 上发布了 230 次的问题。对不起。

FizzBu​​zz 的代码:

i = 1

while i <= 100:
 i = i + 1
 
 if (i % 3 == 0):
     print('Fizz')
 elif  (i % 5 == 0):
     print('Buzz')
 elif (i % 3 == 0) and (i % 5 == 0):
     print('FizzBuzz')
 else: print(i)
     

【问题讨论】:

  • 欢迎来到堆栈溢出。请尝试仔细考虑逻辑。如果一个数既能被3整除又能被5整除,它能被3整除吗?因此,如果我们检查“这个数能被 3 整除吗?”检查“这个数字可以被 3 整除也可以被 5 整除吗?”,你期望会发生什么?你现在看到问题了吗?

标签: python fizzbuzz


【解决方案1】:

你的最后一个 elif 永远不会达到,因为如果它能被 3 整除它就不会继续,与 5 一样。所以你需要把你的最后一个 elif 作为第一个。

i = 1

while i <= 100:
 i = i + 1
 
 if (i % 3 == 0) and (i % 5 == 0):
     print('FizzBuzz')
 elif  (i % 5 == 0):
     print('Buzz')
 elif (i % 3 == 0):
     print('Fizz')
 else: print(i)

【讨论】:

    【解决方案2】:

    欢迎!这可能会帮助你:

    i = 1
    
    while i <= 100: 
     if (i % 3 == 0):
         print('Fizz')
     elif  (i % 5 == 0):
         print('Buzz')
     elif (i % 3 == 0) and (i % 5 == 0):
         print('FizzBuzz')
     else: print(i)
     i = i + 1
    

    基本上,在你将 a 分配给 1 之后,你会立即在你的 while 循环中添加另一个 1,所以我将你的 i = i + 1 移到了 while 循环的底部。

    我希望我能帮助你!

    【讨论】:

      【解决方案3】:

      if ..elif..else 中,首先评估条件满足的控制流,其余的将被忽略。

      您在 while 开始时增加了 i,这就是它从 2 开始到 101 结束的原因。

      下面是代码

      i = 1
      
      while i <= 100:
          result = ''
          if i%3==0:
              result+= 'Fizz'
          if i%5==0:
              result+= 'Buzz'
          print(result or i)
          i+=1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-16
        • 2012-02-21
        • 2018-07-18
        • 2012-11-04
        • 2016-10-15
        • 2016-01-15
        相关资源
        最近更新 更多