Laços While
Parte da seção Fundamentos do Journey de Solidity da Coddy. Lição 32 de 53.
Um loop while verifica uma condição e repete seu corpo enquanto essa condição for verdadeira. Você controla a atualização dentro do corpo. Certifique-se de que o loop altere algo que possa eventualmente tornar sua condição falsa.
As instruções deste trecho são executadas dentro da função main fornecida.
uint256 remaining = 3;
while (remaining > 0) {
console.log(remaining);
remaining--;
}O contador é impresso antes de ser decrementado. Quando chega a zero, a próxima verificação da condição interrompe o loop, portanto a subtração sem sinal nunca é executada quando o valor é zero. A ausência do decremento faria com que a condição permanecesse verdadeira para sempre.
Um loop while precisa de um caminho que eventualmente torne sua condição falsa.
Desafio
FácilComeçando em n, imprima uma contagem regressiva até 1 usando while e, em seguida, imprima stop. n está entre 0 e 7.
Os testes passam argumentos para main nesta ordem: uint256 n. Cada teste começa com um estado novo do contrato.
Use console.log para a saída solicitada. Imprima apenas os valores solicitados, um por linha, sem rótulos adicionais, a menos que a tarefa os especifique.
Experimente você mesmo
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 n) external view {
// Escreva sua solução aqui.
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
2Variáveis e Tipos
Inteiros sem sinalEntradas e saídasInteiros com sinalValores booleanosStrings na memóriaCartão de perfil5Funções
Parâmetros de FunçãoRetorno de ValoresFunções PurasChamadas AuxiliaresCálculos ReutilizáveisPratique por conta própria: Playground de Solidity