我有一個面試問題是讓我寫一個在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