- gerar próximo candidato
- se for ímpar, imprime
Duas versões possíveis de solução:
01.
def
impar_3(inf, sup):
02.
"""Imprime os números impares entre inf e sup."""
03.
while
inf <
=
sup:
04.
if
(inf
%
2
) !
=
0
:
05.
print
inf
06.
inf
=
inf
+
1
07.
08.
def
impar_4(inf, sup):
09.
"""Imprime os números impares entre inf e sup."""
10.
for
i
in
range(inf,sup
+
1
):
11.
if
(i
%
2
) !
=
0
:
12.
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.
1.
def
impar_2(inf,sup):
2.
"""Imprime os números impares entre inf e sup."""
3.
inf
=
(inf
-
1
)
%
2
+
inf
4.
for
i
in
range(inf,sup
+
1
,
2
):
5.
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