在hackerearth

时间:2017-08-17 11:46:44

标签: python python-3.x runtime

n = int(input())
for i in range(n):
    values = list(input().split(' '))
    for val in values:
        for j in range(int(val)):
            if ((j + 1)%15) == 0:
                print("FizzBuzz")
            elif ((j + 1)%5) == 0:
                print("Buzz")
            elif ((j+1)%3) == 0:
                print("Fizz")
            else:
                print(j+1)

这是一个简单的程序,其中第一行包含多个测试用例n(1

后面是包含值的下一行(每个值可以是任何整数)

你只需要打印Fizz为3的倍数,Buzz为5,FizzBu​​zz为15的倍数。

我在hackerearth上遇到NZEC错误。似乎无法找出原因。 n可以是任何整数。

1 个答案:

答案 0 :(得分:0)

注意:

在Python中,通常用逗号分隔多个输入,我们使用input() or int(input())读取它们,但是大多数在线编码平台在测试时给出了由空格分隔的输入,在这些情况下int(input())不是能够正确读取输入并显示错误,如NZEC(非零退出代码),因为名称建议在代码无法返回0时发生。要克服此错误,请使用raw_input().split(" ")

不需要所有这些括号和印刷语句。

试试这个:

n, k = raw_input().split(" ")
n = int(n)
k = int(k)
for num in xrange(n, k):
    if num % 15 == 0:
        msg = "FizzBuzz"
    elif num % 3 == 0:
        msg = "Fizz"
    elif num % 5 == 0:
        msg = "Buzz"
    else:
        msg = str(num)
    print msg