Ir para conteúdo
Fórum Script Brasil
  • 0

Parada no While


EdiJunior

Pergunta

Tô com uma dúvida sobre um código, nele o professor explica que para o código ser parado é necessário digitar o ZERO (0), no meu caso eu não uso o comando BREAK, mas, o professor usa:
# Calcule a soma de números inteiros até ser digitado zero

num = 1
a = 0
soma = 0

while num != 0:
  num = int(input('Digite um número (0 termina o programa): '))
  soma = soma + num
  a += 1

print('Soma:', (soma + num))
Agora vem a resposta do professor:
# Calcule a soma de números inteiros até ser digitado zero

soma = 0

while True:
  x = int(input('Digite o número (0 sai): '))
  if x == 0:
    break
    soma = soma + x
print('Soma: %d' %soma)
Nesse caso a minha resposta é válida ou somente a do professor tem validade (mais coerente)?
Editado por EdiJunior
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
13 horas atrás, SoaresBruno disse:

Fala @EdiJunior, tudo bom?

As duas respostas podem funcionar mas talvez a principal questão seja: o que o professor estava ensinando? 

Se ele estava ensinando o "while True" e o "break", talvez faça sentido ter que usar essas opções para a solução desejada pelo professor.

Olá @SoaresBruno sim ele estava ensinando, só que para mim não ficou muito claro a expressão "while True", o que ela faz exatamente?

Link para o comentário
Compartilhar em outros sites

  • 0

True significa Verdadeiro em inglês.

Os comandos de redirecionamento como IF e WHILE (SE e ENQUANTO) funcionam avaliando uma expressão, e se ela for verdadeira/satisfeita os comandos "englobados" pelo comando são executados.

Nesse caso a expressão que foi usada é "True", que por definição sempre será avaliada como verdadeira, logo "while True" é um ciclo infinito, já que não há uma condição em que a expressão se torna falsa ("False") para o programa saia do loop, e então o programa ficaria repetindo o ciclo infinitamente.

Entretanto uma maneira de sair de um ciclo/loop é usar o comando break, que serve para 'quebrar' o ciclo no qual ele está contido, imediatamente saindo dele. E seu professor colocou uma condição dentro do ciclo (if x == 0) para que quando satisfeita o comando break seja chamado finalizando o ciclo.

 

O seu programa é completamente válido, eu diria que é preferível fazer dessa forma, mas acredito que o objetivo do exercício era exercitar e demonstrar o uso comando break.

Editado por isrnick
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...