• Asignatura: Historia
  • Autor: murdkendra
  • hace 7 años

Al repartir x0000 DP a los impares ( a partir del 1 ) menores que 100, se observó que el noveno número le correspondió 68. Calcula x

Respuestas

Respuesta dada por: andresgustavo085
1

Respuesta:

def main():

   print("PARES E IMPARES")

   numero_1 = int(input("Escriba un número entero: "))

   numero_2 = int(input(f"Escriba un número entero mayor o igual que {numero_1}: "))

   if numero_2 < numero_1:

       print(f"¡Le he pedido un número entero mayor o igual que {numero_1}!")

   else:

       for i in range(numero_1, numero_2 + 1):

           if i % 2 == 0:

               print(f"El número {i} es par.")

           else:

               print(f"El número {i} es impar.")

if __name__ == "__main__":

   main()

Comentarios

La estructura general de este programa es similar a la del resto de programas de la página: se pide un número (o dos) y se hace una comprobación inicial de ese valor (o valores), para mostrar un mensaje de error o ejecutar el núcleo del programa. En este caso, la comprobación es que el segundo número sea mayor que el primero.

   print("PARES E IMPARES")

   numero_1 = int(input("Escriba un número entero: "))

   numero_2 = int(input(f"Escriba un número entero mayor o igual que {numero_1}: "))

   if numero_2 < numero_1:

       print(f"¡Le he pedido un número entero mayor o igual que {numero_1}!")

   else:

       ...

Una vez comprobado que los valores son correctos, el núcleo del programa realiza un bucle desde el primer número introducido al segundo.

   for i in range(numero_1, numero_2 + 1):

       ...

En el cuerpo del bucle, se comprueba en cada iteración si la variable de control i es par o no (comprobando si el resto de la división entre 2 es 0 o no) y se imprime el mensaje correspondiente.

       if i % 2 == 0:

           print(f"El número {i} es par.")

       else:

           print(f"El número {i} es impar.")

Bucle for (1) - A-2

MPTC

82

def main():

   print("DIVISORES")

   numero = int(input("Escriba un número entero mayor que cero: "))

   if numero <= 0:

       print("¡Le he pedido un número entero mayor que cero!")

   else:

       print(f"Los divisores de {numero} son ", end="")

       for i in range(1, numero + 1):

           if numero % i == 0:

               print(i, end=" ")

if __name__ == "__main__":

   main()

Comentarios

Como los números se van escribiendo en la ejecución del bucle, el comienzo de la respuesta se escribe antes del bucle:

       print(f"Los divisores de {numero} son ", end="")

Para encontrar los divisores del número indicado por el usuario, el programa comprueba para cada número entre 1 y el número si el resto de la división es cero.

       for i in range(1, numero + 1):

           if numero % i == 0:

               ...

Si lo es, lo escribe:

           if numero % i == 0:

               print(i, end=" ")

Programa mejorado

Como los divisores de un números son siempre inferiores o igual a la mitad del número (exceptuando el propio número, claro), no hace falta comprobar todos los valores desde 1 hasta el número, basta con probar hasta la mitad del número.

def main():

   print("DIVISORES")

   numero = int(input("Escriba un número entero mayor que cero: "))

   if numero <= 0:

       print("¡Le he pedido un número entero mayor que cero!")

   else:

       print(f"Los divisores de {numero} son ", end="")

       for i in range(1, numero // 2 + 1):

           if numero % i == 0:

         

Explicación:

Preguntas similares