Aprender a programar en python
ResueltoHola,
quiero aprender a usar Python, ¿podría usted por favor explicarme el bucle while y for, y cómo debo hacer para "crear un programa" que muestre en el terminal una tabla de multiplicar? gracias
8 respuestas
Hola,
Un foro no es el medio ideal para el aprendizaje completo de un lenguaje, una pregunta básica lleva a otra, mientras que existen cursos completos y progresivos, especialmente sobre python.
ver:
https://www.python-lycee.com/parcours-apprentissage
https://www.irif.fr/~sangnier/enseignement/16-17/Ip1-Python/IP1-Python-cours-td-1-4.pdf
Hola,
La pregunta que planteas es una pregunta básica, por lo que solo puedo aconsejarte que mires rápidamente un curso de python, ¿por qué no este?
También te recomiendo encarecidamente que leas esto antes de pedir ayuda para un ejercicio. Sería bueno, en particular, mostrar lo que has comenzado a hacer y explicarnos lo que te bloquea.
Regresando a tu pregunta. Un programa es una secuencia de instrucciones. Sin duda sabes que puedes escribir un mensaje con la función print. Aquí tienes, por ejemplo, un programa de python muy simple:
print("Tabla de multiplicación") Veamos ahora cómo mostrar una cadena que depende de dos múltiplos (digamos a y b). Hay varias sintaxis en python:
- La más simple:
a = 2 b = 3 print(a, " * ", b, " = ", a * b)
- Las f-strings:
a = 2 b = 3 print(f"{a} * {b} = {a * b}") Ambas son perfectamente válidas, tú eliges la que quieras.
Ahora, veamos cómo hacer un bucle. En el caso de las tablas de multiplicaciones, el número de iteraciones se conoce antes de entrar en el bucle, por lo que un bucle for es más adecuado que un bucle while. Y la ventaja de un bucle for es que, por diseño y gracias a ciertas restricciones impuestas por python, se evita la mayor parte del tiempo escribir un bucle infinito por accidente (a diferencia de los bucles while). Un bucle for permite actualizar una variable al recorrer un iterable, por ejemplo, una secuencia de valores (llamada range en python). En python:
- range(n) significa contar de 0 incluido a n excluido, con un paso de 1
- range(n0, n) significa contar de n0 incluido a n excluido, con un paso de 1 (debe cumplirse que n0 <= n0)
- range(n1, n2, s) significa contar de n1 a n2 excluido, con un paso de s (debe cumplirse que s sea distinto de cero y que n1 < n2 si s > 0 o que n1 > n2 si s < 0).
Aquí queremos contar de 1 incluido a 10 excluido, por lo que lo que necesitamos es range(1, 10) (que también se escribe como range(1, 10, 1)). Aquí tienes un programa que muestra esos valores:
for a in range(1, 10): print("a =", a) ... o también:
for a in range(1, 10): print(f"a = {a}") Llamemos a esta variable a. Luego hay que multiplicar a por b, donde b es el múltiplo considerado en la tabla.
Ahora tienes todos los elementos para terminar tu ejercicio.
Buena suerte
Hola,
También hay un tutorial en el sitio de Python y en francés.
https://docs.python.org/fr/3/tutorial/index.html
Hola a todas y a todos,
@todos: Si desean sugerir referencias, por favor propónganlas preferiblemente en el otro hilo de discusión que 17159642 ha abierto.
17159642
- Creo que el mensaje #1 responde suficientemente al problema inicial, pero si no está lo suficientemente claro, no dudes en pedir aclaraciones.
- Gracias por asegurarte de mantenerte en esta cuestión inicial. Si tienes otras preguntas, abre una nueva discusión (evita iniciar nuevos temas de discusión como hiciste en #3, #14 a menos, por supuesto, que tenga una relación directa con la discusión).
- Además, te invito a acostumbrarte a buscar las respuestas por ti mismo antes de hacer preguntas. No es que no queramos responderte, sino que es un ejercicio al que nos enfrentamos regularmente cuando desarrollamos, así que mejor tomar el hábito desde el principio.
Buena continuación
No programo en Python, pero en lo que respecta a las instrucciones while y for, ¡debe ser como en otros lenguajes, pienso!
"while" significa que mientras la condición sea verdadera, repetir la acción
"for" significa que mientras la condición no se haya alcanzado, se continúa con el bucle...
Solo para aclarar
- En Python un bucle for se utiliza para hacer que una variable evolucione en un bucle de acuerdo a un iterable.
for i in range(10): print(i)
Por lo tanto, no es como en Java, C o C++, ya que en estos lenguajes el bucle for clásico considera una inicialización, una prueba para permanecer en el bucle y una instrucción a ejecutar al final del buclefor (int i = 0; i < 10; i++) { printf("%d\n", i) } - En Python/C/C++/Java, un bucle while ejecuta un bloque de instrucciones si y solo si su condición se verifica. Este bloque se repite si y solo si la condición se mantiene verdadera.
i = 0 while i < 10: print(i) i += 1
- En C/C++/Java, un bucle do while ejecuta al menos una vez un bloque de instrucciones y lo repite si y solo si su condición se verifica. Este tipo de bucle no existe en Python (hay que ingeniárselas con un bucle while).
Buena suerte
Hola,
- Con respecto al tic tac toe, se trata de una nueva discusión, así que gracias por abrir un nuevo hilo de discusión.
- En cuanto al tema inicial, si tienes todas tus respuestas, gracias por marcar el tema como resuelto. Y si no, por favor aclara qué puntos necesitan aclaración.
Gracias :-)
Hola,
Eso es lo que muchos de nosotros hemos aconsejado, sin éxito. No se aprende a programar chateando en un foro. Es un recurso en caso de bloqueo, después de haber integrado las bases del lenguaje.
Los sitios dedicados (ver más arriba) están hechos para eso e integran glosarios y definiciones de las funciones y otras palabras clave, así como ejemplos, a veces interactivos, para cada concepto..