Volver al índiceSoluciones de los ejercicios - Bucle for (1)

Se ofrecen a continuación unas posibles soluciones de los ejercicios de bucle for (1).


for 1-01

Las sucesiones se pueden generar utilizando la función range() con un único argumento:

# -*- coding: cp1252 -*-
for i in range(10):
    print i + 1,
print
for i in range(10):
    print 2 * i + 2,
print
for i in range(10):
    print 2 * i + 20,
print
for i in range(6):
    print 4 * i + 10,
print
for i in range(9):
    print -5 * i + 40,

O mediante la función range() con dos argumentos, (en estas soluciones el bucle empieza siempre con el valor ):

# -*- coding: cp1252 -*-
for i in range(1, 11):
    print i,
print
for i in range(1, 11):
    print 2 * i,
print
for i in range(1, 11):
    print 2 * i + 18,
print
for i in range(1, 7):
    print 4 * i + 6,
print
for i in range(1, 10):
    print -5 * i + 45,

O mediante la función range() con tres argumentos, para que siempre baste con imprimir i:

# -*- coding: cp1252 -*-
for i in range(1, 11, 1):
    print i,
print
for i in range(2, 22, 2):
    print i,
print
for i in range(20, 40, 2):
    print i,
print
for i in range(10, 34, 4):
    print i,
print
for i in range(40, -5, -5):
    print i,

for 1-02

# -*- coding: cp1252 -*-
for i in range(10):
    print (i + 1) ** 2,
print
for i in range(10):
    print (i + 1) ** 2 + 1,
print
for i in range(6):
    print (i + 2) ** 3,
print
for i in range(8):
    print 1.0 / (i + 1),
print
for i in range(7):
    print (i + 1) * (i + 2),
print
for i in range(5):
    print 1.0 / 10 ** i,
print
for i in range(8):
    print (-1) ** i,

for 1-03

# -*- coding: cp1252 -*-
numero1 = int(raw_input("Escriba un número entero: "))
print "Escriba un número entero mayor o igual que", numero1,":",
numero2 = int(raw_input())

if numero2 < numero1:
    print "¡Le he pedido un número entero mayor o igual que", numero1,"!"
else:
    for i in range(numero1, numero2 + 1):
        if i % 2 == 0:
            print "El número", i, "es par"
        else:
            print "El número", i, "es impar"

for 1-04

# -*- coding: cp1252 -*-
numero1 = int(raw_input("Escriba un número entero: "))
print "Escriba un número entero mayor que", numero1,":",
numero2 = int(raw_input())

if numero2 <= numero1:
    print "¡Le he pedido un número entero mayor que", numero1,"!"
else:
    suma = 0
    for i in range(numero1, numero2 + 1):
        suma = suma + i 
    print "La suma desde", numero1, "hasta", numero2, "es", suma
    for i in range(numero1, numero2):
        print i, "+",
    print numero2, "=", suma

for 1-05

# -*- coding: cp1252 -*-
numero = int(raw_input("Escriba un número entero mayor que cero: "))

if numero <= 0:
    print "¡Le he pedido un número entero mayor que cero!"
else:
    factorial = 1
    for i in range(1, numero + 1):
        factorial = factorial * i 
    print "El factorial de", numero, "es", factorial

for 1 -06

# -*- coding: cp1252 -*-
numero = int(raw_input("¿Cuántos valores va a introducir? "))

if numero <= 0:
    print "¡Imposible!"
else:
    suma = 0
    for i in range(1, numero + 1):
        print "Escriba el número", i, ":",
        valor = float(raw_input())
        suma = suma + valor
    print "La suma de los números que ha escrito es", suma

for 1-07

# -*- coding: cp1252 -*-
numero = int(raw_input("¿Cuántos valores va a introducir? "))

if numero <= 0:
    print "¡Imposible!"
else:
    contador = 0
    for i in range(1, numero + 1):
        print "Escriba el número", i, ":",
        valor = float(raw_input())
        if valor < 0:
            contador = contador + 1
    if contador == 1:
        print "Ha escrito 1 número negativo"
    else:
        print "Ha escrito", contador, "números negativos"

for 1-08

Pistas:

# -*- coding: cp1252 -*-
numero = int(raw_input("¿Cuántos valores va a introducir? "))

if numero <= 0:
    print "¡Imposible!"
else:
    valor = float(raw_input("Escriba el número 1: "))
    minimo = maximo = suma = valor 
    for i in range(2, numero + 1):
        print "Escriba el número", i, ":",
        valor = float(raw_input())
        suma = suma + valor
        if valor < minimo:
            minimo = valor
        if valor > maximo:
            maximo = valor
    print "El número más pequeño de los introducidos es", minimo
    print "El número más grande de los introducidos es", maximo
    print "La media de los números introducidos es", suma / numero

for 1-09

# -*- coding: cp1252 -*-
numero = int(raw_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 "Los divisores de", numero, "son",
    for i in range(1, numero + 1):
        if numero % i == 0:
            print i, 

for 1-10

# -*- coding: cp1252 -*-
numero = int(raw_input("Escriba un número entero mayor que 1: "))

if numero <= 1:
    print "¡Le he pedido un número entero mayor que 1!"
else:
    contador = 0
    for i in range(1, numero + 1):
        if numero % i == 0:
            contador = contador +1
    if contador == 2:
        print numero, "es primo"
    else:
        print numero, "no es primo"
Esta página forma parte del curso "Introducción a la programación con Python" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación de esta página: 24 de mayo de 2012

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.