首页 > 解决方案 > 带有标准输入和标准输出的 FizzBu​​zz python 代码

问题描述

我使用 FizzBu​​zz 程序进行了在线面试测试。编写一个程序,打印给定范围内的数字。但是对于三的倍数打印“Fizz”而不是数字,对于五的倍数打印“Buzz”。对于三和五的倍数,打印“FizzBu​​zz。在每个字符串或数字之后打印一个新行。输入格式:第一行将是测试用例的数量,T。下一行将有 T 个整数,用 N 表示。输出格式:为每个测试用例打印从 1 到 N 的数字。但请遵循问题中给出的规则。约束:1<=T<=10 下面是我的输入:3 5 7 9 45 95 下面是我的代码已写:仍然输出错误。请帮助我理解这里的问题。

N= int(input())
for fizzbuzz in range(N+1):
    if fizzbuzz % 3 == 0 and fizzbuzz % 5 == 0:
        print("fizzbuzz")
        continue
    elif fizzbuzz % 3 == 0:
        print("fizz")
        continue
    elif fizzbuzz % 5 == 0:
        print("buzz")
        continue
    print(fizzbuzz)

标签: python-3.x

解决方案


最好的办法

c3 = 0
c5 = 0

for i in range(1,101):
    c3 += 1
    c5 += 1
    d = ""
    if (c3 == 3):
        d += "fizz"
        c3 = 0
    if (c5 == 5):
        d+= "buzz"
        c5 = 0
    if (d == ""):
        print(i)
        
    else:
        print(d)
    

推荐阅读