temperatura de python para lua [RESOLVIDO]

1. temperatura de python para lua [RESOLVIDO]

Cristiano
sempreslack

(usa Slackware)

Enviado em 13/07/2016 - 19:17h

Boa noite galera, estou com um problema e não consigo achar o erro. Estou aprendendo Python e Lua, já que vejo que são bem semelhantes. Fiz hoje um programa para cadastrar temperaturas de forma ilimitada, calcular a média entre elas e apontar a maior e a menor temperatura, conforme sugerido por uma série de vídeos que estou usando para aprender Python, a saber, os vídeos do canal ignorancia zero no youtube.
O código em python é esse aqui:

continuar = str(input("Vamos entrar com as temperaturas, digite S para"
" continuar e N para parar: "))
n = 1
temp = 0
if continuar == "S" or continuar =="s":
maior = menor = temp = float(input("Digite a %iª temperatura: "%n))
soma = temp
continuar = str(input("Deseja continuar? "))
while continuar == "S" or continuar == "s":
temp = float(input("Digite a %iª temperatura: "%(n+1)))
if temp > maior:
maior = temp
elif temp < menor:
menor = temp
n +=1
soma += temp
continuar = str(input("Deseja continuar? "))
if continuar == "N" or continuar == "n":
if n == 1:
print ("Saindo do programa")
if n != 1:
print("Temperaturas finalizadas")
print ("A quantidade de temperaturas digitadas foi: ",(n))
print ("A média das temperaturas foi: %.2fºC"%(soma/(n)))
print ("A maior temperatura foi: %.2fºC"%maior)
print ("A menor temperatura foi: %.2fºC"%menor)


Esse código pergunta se o usuário quer colocar mais uma temperatura no registro, encontra a média e imprime o maior e o menor número. Ele está funcionando perfeitamente, sem nenhum problema, porém, quando traduzo o código para Lua, ele para e não continua pedindo mais temperaturas. O usuário digita que quer continuar no inicio do programa, depois insere a 1ª temperatura e então o programa simplesmente para.
Segue abaixo o código traduzido para Lua


print ("Vamos entrar com as temperaturas, digite S para continuar e N para parar")
continuar = io.read()
n = 1
temp = 0
if continuar == "S" or continuar == "s" then
print (string.format("Digite a %dª temperatura: ",n))
maior, menor, temp = io.read("*n")
soma = temp
print ("Deseja continuar? ")
continuar = io.read()
while continuar == "S" or continuar == "s" do
print (string.format("Digite a %dª temperatura: ",(n+1)))
temp = io.read("*n")
if temp > maior then
maior = temp
elseif temp < menor then
menor = temp
end
n = n + 1
soma = soma + temp
print ("Deseja continuar? ")
continuar = io.read()
end
end
if continuar == "N" or continuar == "n" then
if n == 1 then
print ("Saindo do programa")
elseif n ~= 1 then
print ("Temperaturas finalizadas")
print (string.format("A quantidade de temperaturas digitadas foi: %d",n))
print (string.format("A média das temperaturas foi: %.2fºC"%(soma/(n))))
print (string.format("A maior temperatura foi: %.2fºC"%maior))
print (string.format("A menor temperatura foi: %.2fºC"%menor))
end
end


Então, o que estou fazendo de errado? Ele para antes de começar o ciclo while. Espero que não seja nada bobo, olhei esse código algumas vezes e não notei problema algum nele.
Um abraço galera


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts