【发布时间】:2016-11-04 16:09:41
【问题描述】:
我最近开始使用 python 并尝试了 FizzBuzz 测试。我想出了这个:
count = 0
while count <= 100:
if (count % 3) == 0:
print "Fizz"
count = count + 1
elif (count % 5) == 0:
print "Buzz"
count = count + 1
elif (count % 5) and (count % 3):
print "FizzBuzz"
count = count + 1
else:
print count
count = count + 1
它不输出数字:
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
FizzBuzz
Fizz
FizzBuzz
Buzz
Fizz
FizzBuzz
FizzBuzz
Fizz
Buzz
这不是正确的输出。如何清理程序?
【问题讨论】:
-
(count % 5) and (count % 3)。对于在您的代码中遇到的数字来说,这将始终是正确的。 -
问题,而不是故事。
-
你可能想看看如何做fizz-buzz exercise again。
-
为了澄清@MorganThrapp 所说的,所有正整数和负整数都是正确的。只有 0 是假的。您正在为检查 3 和 5 进行“真与真”的逻辑测试。
-
我真的只是希望有人把它作为家庭作业解决方案或面试解决方案:P