【发布时间】:2020-07-03 09:26:40
【问题描述】:
我最近下载了 Twilio 任务,我喜欢它!但是,我遇到了入门级 Python 挑战之一。它应该很容易解决,但不知何故我似乎无法解决这里的错误。任何人都可以查看我的代码并找到我显然无法找到的明显错误吗?
import sys
inputs = sys.argv
inputs.pop(0)
for i in inputs:
print(i)
n = int(i)
for x in range(1,n+1):
if x % 3 == 0 and x % 5 == 0:
print("fizzbuzz")
elif x % 3 == 0:
print("fizz")
elif x % 5 == 0:
print("buzz")
else:
print(x)
挑战是解决 fizzbuzz 挑战,输入多个数字。错误产生: “我们向您的脚本传递了一个可以被 3 和 5 整除的数字,并希望您打印 fizzbuzz,但您却打印了 -3000。
所以输入是 -3000,并且应该通过我的第一次测试,因为它确实可以被 3 和 5 整除。我似乎无法弄清楚为什么输入 -3000 会跳转到“else”部分我的 for 循环。
【问题讨论】:
-
不要在循环之前打印 i,您正在打印输入值。验证脚本不会期待
-
即使我同意建议的更改,它也只是将错误替换为不同的错误(之前尝试过此更改):“我们向您的脚本传递了一个可以被 3 和 5 整除的数字,并且期望您打印 fizzbuzz,但您打印了 1。”我不明白为什么它不在这里打印“fizzbuzz”。谢谢。
-
它不应该为数字 1 打印 fizzbuzz...
-
如我所想.. 然后我想我可能会向 Twilio 团队报告一个错误。 1 永远不能被 3 或 5 整除。我不明白为什么它会在这里拒绝答案 1。但我认为这可能是 Twilio 程序的一个错误。
标签: python python-3.x for-loop twilio fizzbuzz