重复直到lua循环
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重复直到lua循环相关的知识,希望对你有一定的参考价值。
我的lua代码出错了什么?
local which
print("Type f to convert fahrenheit to celsius and c to convert celsius to fahrenheit")
which = io.read()
repeat
if which=="f" then
local c
local f
print("input your fahrenheit temperature")
f = tonumber(io.read())
c = (f-32)/1.8
print(c)
end
elseif which=="c" then
local ce
local fa
print("input your celsius temperature")
c = tonumber(io.read())
f = (c*1.8)+32
end
else do
print("Type f to convert fahrenhiet to celsius and c to convert celsius to fahrenheit")
until which=="f" or which=="c"
答案
你先关闭你的if
区块。删除用于关闭end
和if
的elseif
语句,并在else
之后将其关闭。
local which
print("Type f to convert fahrenheit to celsius and c to convert celsius to fahrenheit")
which = io.read()
repeat
if which=="f" then
local c
local f
print("input your fahrenheit temperature")
f = tonumber(io.read())
c = (f-32)/1.8
print(c)
elseif which=="c" then
local ce
local fa
print("input your celsius temperature")
c = tonumber(io.read())
f = (c*1.8)+32
else
print("Type f to convert fahrenhiet to celsius and c to convert celsius to fahrenheit")
end
until which=="f" or which=="c"
P.S。:这可能会导致你无限循环。您需要在重复内部的每次迭代后更新which
,直到。
另一答案
在end
之前应该没有elseif
。之前也应该没有end
,而且在do
之后没有else
。在end
部分之后和else
之前应该有一个until
:
repeat
if ... then
...
elseif ... then
...
else
...
end
until ...
下次如果你至少发布了你的问题(错误信息,意外输出等)会很有帮助。
另一答案
local which
repeat
print("Type f to convert fahrenheit to celsius and c to convert celsius to fahrenheit")
which = io.read()
if which=="f" then
local c
local f
print("input your fahrenheit temperature")
f = tonumber(io.read())
c = (f-32)/1.8
print(c)
elseif which=="c" then
local c
local f
print("input your celsius temperature")
c = tonumber(io.read())
f = (c*1.8)+32
print(f)
end
print("do you want to play again? y/n?")
antwort = io.read()
until antwort ~= "y"
以上是关于重复直到lua循环的主要内容,如果未能解决你的问题,请参考以下文章