Loop Repeat-While
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 44 de 86.
O loop repeat-while é semelhante ao loop while, mas com uma diferença fundamental: ele verifica a condição depois de executar o bloco de código, não antes. Isso garante que o corpo do loop seja executado pelo menos uma vez.
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Saída: 1, 2, 3Observe a estrutura: a palavra-chave repeat vem primeiro, seguida pelo bloco de código, e a condição aparece ao final após while.
A diferença fica clara quando a condição é falsa desde o início:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Saída: This runs once!Embora number < 5 seja falso, a mensagem ainda é impressa uma vez. Com um loop while comum, nada seria impresso.
Use repeat-while quando você precisar que o código seja executado pelo menos uma vez antes de verificar se deve continuar, como solicitar a entrada de um usuário até que ele forneça dados válidos.
Desafio
FácilLeia um número inteiro n da entrada. Use um loop repeat-while para imprimir todos os números de 1 até n, cada um em uma nova linha.
Você receberá a seguinte entrada:
- Uma única linha contendo um número inteiro como uma string (por exemplo,
"5")
Leia a entrada, converta-a para um Int, e use um loop repeat-while para imprimir cada número começando de 1.
Requisitos:
- Inicie um contador em
1 - Imprima o valor do contador
- Incremente o contador
- Continue enquanto o contador for menor ou igual a
n
Por exemplo, se a entrada for 4, a saída deve ser:
1
2
3
4Folha de consulta
O loop repeat-while verifica a condição após a execução do bloco de código, garantindo que o corpo do loop seja executado pelo menos uma vez.
Sintaxe:
repeat {
// bloco de código
} while conditionExemplo:
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Saída: 1, 2, 3Principal diferença em relação ao loop while:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Saída: This runs once!Mesmo quando a condição é falsa desde o início, o bloco de código é executado uma vez. Um loop while comum não seria executado de forma alguma neste caso.
Use repeat-while quando você precisar que o código seja executado pelo menos uma vez antes de verificar se deve continuar.
Experimente você mesmo
// Ler a entrada e converter para Int
let n = Int(readLine()!)!
// TODO: Escreva seu código abaixo
// Inicie um contador em 1 e use um loop repeat-while para imprimir números de 1 a nEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa