Se ofrecen a continuación unas posibles soluciones de los ejercicios de Sucesiones aritméticas.
Las sucesiones se pueden generar utilizando el tipo range() con un único argumento:
def main():
for i in range(10):
print(f"{2 * i + 2} ", end="")
print()
for i in range(8):
print(f"{2 * i + 20} ", end="")
print()
for i in range(6):
print(f"{4 * i + 10} ", end="")
print()
for i in range(9):
print(f"{-5 * i + 40} ", end="")
print()
for i in range(10):
print(f"{i + 1} ", end="")
print()
if __name__ == "__main__":
main()
O mediante el tipo range() con dos argumentos, (en estas soluciones el bucle empieza siempre con el valor 1:
def main():
for i in range(1, 11):
print(f"{2 * i} ", end="")
print()
for i in range(1, 9):
print(f"{2 * i + 18} ", end="")
print()
for i in range(1, 7):
print(f"{4 * i + 6} ", end="")
print()
for i in range(1, 10):
print(f"{-5 * i + 45} ", end="")
print()
for i in range(1, 11):
print(f"{i} ", end="")
print()
if __name__ == "__main__":
main()
O mediante el tipo range() con tres argumentos, para que siempre baste con imprimir i:
def main():
for i in range(2, 22, 2):
print(f"{i} ", end="")
print()
for i in range(20, 36, 2):
print(f"{i} ", end="")
print()
for i in range(10, 34, 4):
print(f"{i} ", end="")
print()
for i in range(40, -5, -5):
print(f"{i} ", end="")
print()
for i in range(1, 11, 1):
print(f"{i} ", end="")
print()
if __name__ == "__main__":
main()
Una posible solución, en la que se han elegido los tipos range() de manera que la fórmula sea lo más simple posible, sería la siguiente:
def main():
for i in range(1, 11):
print(f"{i * i} ", end="")
print()
for i in range(1, 11):
print(f"{i * i + 1} ", end="")
print()
for i in range(2, 8):
print(f"{i ** 3} ", end="")
print()
for i in range(1, 7):
print(f"{1 / i} ", end="")
print()
for i in range(1, 8):
print(f"{i * (i + 1)} ", end="")
print()
for i in range(6):
print(f"{10 ** i} ", end="")
print()
for i in range(5):
print(f"{1 / 10 ** i} ", end="")
print()
for i in range(8):
print(f"{(-1) ** i} ", end="")
print()
if __name__ == "__main__":
main()
Si se hubiera querido utilizar el tipo range() con un único argumento, las cinco primeras secuencias hubieran sido:
def main():
for i in range(10):
print(f"{(i + 1) * (i + 1)} ", end="")
print()
for i in range(10):
print(f"{(i + 1) * (i + 1) + 1} ", end="")
print()
for i in range(6):
print(f"{(i + 2) ** 3} ", end="")
print()
for i in range(6):
print(f"{1 / (i + 1)} ", end="")
print()
for i in range(7):
print(f"{(i + 1) * (i + 2)} ", end="")
print()
if __name__ == "__main__":
main()