- gerar próximo candidato
- se for ímpar, imprime
Duas versões possíveis de solução:
def impar_3(inf, sup):
"""Imprime os números impares entre inf e sup."""
while inf <= sup:
if (inf % 2) != 0:
print inf
inf = inf + 1
def impar_4(inf, sup):
"""Imprime os números impares entre inf e sup."""
for i in range(inf,sup+1):
if (i % 2) != 0:
print i
Como se nota, num casio usamos um ciclo while e no outro um ciclo for. Mas podemos ter ainda uma outra alternativa. Neste caso usamos o range para gerar os ímpares. Só temos que garantir que o começo é o primeiro ímpar maior ou igual a inf.
def impar_2(inf,sup):
"""Imprime os números impares entre inf e sup."""
inf = (inf - 1) % 2 + inf
for i in range(inf,sup + 1, 2):
print i
Reparar que no caso em que usamos o ciclo for o range vai até sup+1. Porquê?
Sem comentários:
Enviar um comentário