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:
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: