Ciclo while con Python
Publicado por Alexander (8 intervenciones) el 25/08/2020 04:12:41
1
Necesito ayuda para encontrar una posible solución a este ejercicio. Toda ayuda se agradece.
Escenario:
1.- Toma cualquier número entero que no sea negativo y que no sea cero y asígnale el nombre c0.
2.- Si es par, evalúa un nuevo c0 como c0 ÷ 2.
3.- De lo contrario, si es impar, evalúe un nuevo c0 como 3 × c0 + 1.
4.- Si c0 ≠ 1, salta al punto 2.
Escribe un programa que lea un número natural y ejecute los pasos anteriores siempre que c0 sea diferente de 1. También queremos que cuente los pasos necesarios para lograr el objetivo. Tu código también debe mostrar todos los valores intermedios de c0.
Ejemplo:
Entrada de muestra: 15
Salida esperada:
46
23
70
35
106
53
160
80
40
20
10
5
16
8
4
2
1
pasos = 17
Entrada de muestra: 16
Salida esperada:
8
4
2
1
pasos = 4
Por cierto, genere este código pero no me lleva a ningún lado... Creo que debo seguir intentando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
c0 = int(input("Ingresa un número:"))
x = 0
y = 1
while c0:
c0 %= 2
print(c0)
if c0 == x:
c0 /= 2
print(c0)
if c0 == y:
c0 *= 3
c0 += 1
print(c0)
Valora esta pregunta


0