我有一个面试问题是让我写一个在Lua语言下列要求的程序:如果数字是3的倍数1之间Lua的for循环与多个条件
- 打印号码100
- 如果数字是5的倍数,则打印'Fizz'而不是数字
- 如果数字是5和3的倍数,则打印'Buzz'而不是数字
- ,打印'FizzBuzz'而不是数字
我写了下面:
for i=1,100 do
if i%5==0 then
if i%3==0 then
print("FizzBuzz")
else
print("Buzz")
end
elseif i%3==0 then
print("Fizz")
else
print(i)
end
end
反响并不好,说的代码的质量没有达到他们的标准。我如何才能将以上代码改为最高标准以供将来参考?
重新阅读代码后,我意识到它不易读,所以我确信这是主要原因。也许更少的处理也可能涉及?寻找一些指导。
这个问题似乎是fizbuzz问题的畸形措辞。 https://www.google.ru/search?hl=&q=fizz+buz您的代码没有执行上述操作(“3的倍数,打印'fizz \ 5的倍数,打印'fuzz')。对于经典问题,我猜(如果“Bizz”实际上是“Fizz”)。而面试过程并不是客观的过程,这个决定可以由一个来自互联网的随机人员来解释。 – Dimitry
@Dimitry啊,感谢fizbuzz问题的背景资料,我其实不知道这是一个受欢迎的面试筛选过程。 Bizz是一个错字,你说得对,它实际上就是Fizz。关于这个问题,它是指代码本身,而不是访谈。我将它发布在代码审查部分,以查看代码是否可以改进,而不是输入错误。 –
也许更适合https://codereview.stackexchange.com。 – lhf