我最近开始使用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
它仅输出数字 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz 蜂鸣器 嘶 FizzBuzz FizzBuzz 嘶 蜂鸣器 FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz 蜂鸣器 嘶 FizzBuzz FizzBuzz 嘶 蜂鸣器 FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz 蜂鸣器 嘶 FizzBuzz FizzBuzz 嘶 蜂鸣器 FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz 蜂鸣器 嘶 FizzBuzz FizzBuzz 嘶 蜂鸣器 FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz 蜂鸣器 嘶 FizzBuzz FizzBuzz 嘶 蜂鸣器 FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz 蜂鸣器 嘶 FizzBuzz FizzBuzz 嘶 蜂鸣器 FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz FizzBuzz 嘶 FizzBuzz 蜂鸣器 嘶 FizzBuzz FizzBuzz 嘶 蜂音
我要问的是1:这是正确的输出吗?2:我怎样才能清理程序,我是BEGGING指针。 谢谢, 启
答案 0 :(得分:2)
考虑这些陈述发生的顺序,
elif (count % 5) and (count % 3):
这行代码永远不会执行,因为
if (count % 3) == 0:
或
elif (count % 5) == 0:
如果这些条件为真,将首先执行。在这 如果你想检查这些条件的两个是否属实, 只有这样你才能检查单个条件是否为真。
此外,代码行
count = count + 1
出现在代码的每个分支中,考虑将其置于某处 它每次都会被执行。
但是我会选择使用for循环而不是while循环,
for x in range(100):
这消除了额外计数变量的需要。
需要注意的另一件事是
elif (count % 5) and (count % 3):
在这里,您没有检查数字%5是否= = 0,您只是检查(计数%5)。所以表达式&#34; if(count%5)&#34;如果计数不可以被5整除(检查真值测试),则结果为True。对于省略==比较器
的其他地方也是如此这是一个类似于你的方法的例子。
for count in range(1, 101):
if count % 5 == 0 and count % 3 == 0:
print "FizzBuzz"
elif count % 5 == 0:
print "Buzz"
elif count % 3 == 0 and count % 5 == 0:
print "Fizz"
else:
print count
需要注意的事项:
答案 1 :(得分:0)
我认为逻辑是检查是否
声明变量。我添加了额外的变量,以确保一切顺利进行。您可以根据需要跳过变量后跟“ divisible_by”。
{
"inputs": "@json(variables('CurrentTags').CurrentEastUSHDInsightsObject)"
}
写循环和条件。
myArray = []
divisible_by_both = []
divisible_by_three = []
divisible_by_five = []
digits = range(1,101)
打印结果,或打印另一个数组以确保总长度为100。
for x in digits:
if (x % 3 == 0) and (x % 5 == 0):
myArray.append("Fizzbuzz")
divisible_by_both.append(x)
if (x % 3 == 0) and not (x % 5 == 0):
divisible_by_three.append(x)
myArray.append("Fizz")
if not (x % 3 == 0) and (x % 5 == 0):
divisible_by_five.append(x)
myArray.append("Buzz")
if not (x % 3 == 0) and not (x % 5 == 0):
myArray.append(x)
这是输出。您可以根据需要加入数组并将其输出为字符串。 [1,2,'Fizz',4,'Buzz','Fizz',7,8,'Fizz','Buzz',11,'Fizz',13,14,'Fizzbuzz',16,17,' Fizz',19,'Buzz','Fizz',22、23,'Fizz','Buzz',26,'Fizz',28、29,'Fizzbuzz',31、32,'Fizz',34,' Buzz”,“ Fizz”,37、38,“ Fizz”,“ Buzz”,41,“ Fizz”,43、44,“ Fizzbuzz”,46、47,“ Fizz”,49,“ Buzz”,“ Fizz” ,52,53,'Fizz','Buzz',56,'Fizz',58,59,'Fizzbuzz',61,62,'Fizz',64,'Buzz','Fizz',67,68,' Fizz”,“ Buzz”,71,“ Fizz”,73、74,“ Fizzbuzz”,76、77,“ Fizz”,79,“ Buzz”,“ Fizz”,82、83,“ Fizz”,“ Buzz” ,86,'Fizz',88、89,'Fizzbuzz',91、92,'Fizz',94,'Buzz','Fizz',97、98,'Fizz','Buzz']