Python - Ejercicio programacion python

 
Vista:

Ejercicio programacion python

Publicado por Silvia (3 intervenciones) el 12/07/2022 12:55:19
Realiza un script que calcule cuantas veces se puede dividir entre dos un determinado número almacenado en una variable dando por resultado un número entero.

Ejemplo:

El número 20 se puede dividir entre 2 ----> 2 veces.
El número 10 se puede dividir entre 2 ----> 1 veces.
El número 32 se puede dividir entre 2 ----> 5 veces.
El número 100 (generado aleatoriamente) se puede dividir entre 2 ----> 2 veces.

Introduce las siguientes modificaciones del script anterior:
- La entrada del número tecleado por el usuario.
- El script se debe repetir hasta que el usuario cancele la entrada en el letrero de diálogo (cancel)
- Control de entrada de usuario de un valor no numérico. En el caso de introducir un valor no numérico el script deberá de mostrar un mensaje en pantalla de Valor introducido no numérico, y debe de mostrar nuevamente el letrero de diálogo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Ejercicio programacion python

Publicado por Francisco Javier (313 intervenciones) el 12/07/2022 19:44:48
Supongo que para que te dé la opcion de número aleatorio debes también de tenerla en cuenta.
podrías hacer un menu con las opciones de numero por usuario, aleatorio o cancelar con cancel. algo así:
ya me dices.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import random
menu='''
1--> Generar un número aleatorio
2--> Introducir el número por el usuario.
Teclee "cancel" para cancelar
'''
opcion=None
while opcion!='cancel':
    print(menu)
    opcion=input('Introduzca una opción: ')
    if opcion=='2':
        try:
            numero=float(input('Introduzca un número: '))#generamos el primer número
            n=numero#guardamos el numero original para el último print
            contador=0#inicializamos el contador a 0
            for i in range(1,5):#recorremos n veces aunque podriamos recorrerlo la mita de numero
                if numero%2==0:#comprobamos si es divisible entre 2 comprobando el resto a cero
                    numero=numero/2#modificamos el numero para seguir comprobando
                    contador+=1  #en caso de ser divisible vamos aumentando el contador
            print(f'El número {n} se puede dividir entre 2 ----> {contador} veces.')#imprimimos resultado
        except ValueError:
            print('Valor introducido no numérico')
    elif opcion=='1':
        numero_aleatorio=random.randint(0, 1000)
        n=numero_aleatorio#guardamos el numero original para el último print
        contador=0#inicializamos el contador a 0
        for i in range(1,numero_aleatorio):#recorremos n veces aunque podriamos recorrerlo la mita de numero
            if numero_aleatorio%2==0:#comprobamos si es divisible entre 2 comprobando el resto a cero
                numero_aleatorio=numero_aleatorio/2#modificamos el numero para seguir comprobando
                contador+=1  #en caso de ser divisible vamos aumentando el contador
        print(f'El número {numero_aleatorio} (generado aleatoriamente) se puede dividir entre 2 ----> {contador} veces.')#imprimimos resultado
salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-3
Comentar

Ejercicio programacion python

Publicado por SILVIA (3 intervenciones) el 13/07/2022 12:39:40
Hola,

Ejecute el codigo, esta todo bien menos el mensaje de error, es decir esta parte:

Control de entrada de usuario de un valor no numérico. En el caso de introducir un valor no numérico el script deberá de mostrar un mensaje en pantalla de Valor introducido no numérico, y debe de mostrar nuevamente el letrero de diálogo.

Si pongo un valor no numerico. No me sale el mensaje de error, se repite el letrero de dialogo pero sin saltar el mensaje de error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar