Programas ramificados
Clase 8 de 31 • Curso de Introducción al Pensamiento Computacional con Python
Contenido del curso
Clase 8 de 31 • Curso de Introducción al Pensamiento Computacional con Python
Contenido del curso
Duvan Ardila
Mariana Velez
Edgar Leonardo García Zavala
Ezequiel Matías Rolón Pettinari
Ana Camila Rozo
Daniela Funes
Karl Behrens Gil
Hinder Adrian Alvarez Perlaza
Victor Manuel Osorio Parra
René Sanchez
freddy molleda
Christian David Rojas González
Carlos Andres Perez Zapata
Kevin J. Zea Alvarado
Yakairi Gonzàlez
Grecia Olympia Corona Segura
jean franco llantoy roca
Cesar Arturo Castanon Acuna
David Behar
Cristian Antonio García González
Aaron Fabrizio Calderon Guillermo
Flavio César Sandoval Muñoz
Walquiria Salinas
Sergio Rubiano
Sergio Jiménez
Ivan Dario Madrid Caballero
Erik Ricardo Sánchez Pérez
jose carlos
Nicolas Rosales Arce
Marcos Rodriguez
Eduardo Serrano Jaime
José Agüero
Ivan Sangueza Alarcon
Alejandro Mancilla Lopez
Lyddon Beni Varje Esteban
Miguel Torres
vincent
Miguel Torres
David Barreto
Sebastián Andrade
Jorge Cruz Perez
Jesús Armando Valdovinos Bahena
Daniel Ignacio González Cañete
Axel Yaguana
Rubén Alonso Guevara Jaramillo
Hola, tuve dos dudas al momento de usar la terminar, así que voy a condensar las soluciones por si de pronto a alguien le llega a pasar la mismo.
Si tan solo hubiera leído el comentario antes!! habría ahorrado un tiempecillo... Thanks!
Gracias Amigo!
print("Bienvenido al comparador de edades.") print("Ahora descubriremos juntos quien tiene mas edad entre dos personas.") print("Para esto necesitare que me brindes información antes (Soy una computadora, no una adivina... por ahora...)") nombre_persona_1 = input("Necesito el nombre de la primer persona. ¿Como se llama?: ") edad_persona_1 = int( input("¿Que edad tiene?: ")) nombre_persona_2 = input("Necesito el nombre de la segunda persona. ¿Como se llama?: ") edad_persona_2 = int( input("¿Que edad tiene?: ")) print("Despejare la incertidumbre...") if edad_persona_1 > edad_persona_2: print(f"Claro como el agua, {nombre_persona_1} es mayor que {nombre_persona_2}.") elif edad_persona_1 < edad_persona_2: print(f"¡Elemental Watson!, {nombre_persona_2} es mayor que {nombre_persona_1}.") else: print(f"¡Basta de contiendas {nombre_persona_1} y {nombre_persona_2}, ambos tienen la misma edad!") print("Gracias por usar este programa. ¡Nos vemos la proxima!")```
Hola puedes usar triple comilla """ para hacer multiples lineas sin necesidad de escribir print por cada linea
Me encantó tu programa y los textos están geniales 😁
Programas ramificados
Para que nuestros programas realicen trabajos interesantes estos deben ser capaces de tomar decisiones, test o pruebas, es desde este concepto donde salen las ramificaciones. Dentro de los test que podemos realizar son los operadores de comparación y estos nos devolveras si la comparación es verdadera (True) o falsa (False).
Ademas de los operadores de comparación también tenemos los operadores lógicos, estos son 3 (and, or, not).
Una vez que podemos entender bien los operadores de comparación y lógicos podemos generar nuestros programas ramificados. Una forma típica de ocupar los operadores es con el método if.
if condition: # Evaluamos en primera instancia una condición. expresion elif: # En caso de que no se cumpla la condición anterior evaluamos nuevamente con otra. expresion else: # En caso de que no se cumpla ninguna condición. expresion # En el ejemplo anterior pueden es obligatorio el 'if', sin embargo 'elif' # y 'else' son opcionales. Pueden existir cuantos 'elif' queramos, pero solo # puede haber 1 'if' y 1 'else'. if 4 > 5: ... elif 4 < 5: print('4 es menor que 5') else: ...
Para poner en práctica esto crearemos un archivo programas_ramificados.py y dentro de el escribiremos:
num_1 = int(input('Escoge un entero: ')) # Preguntamos por un primer numero. num_2 = int(input('Escoge otro entero: ')) # Luego preguntamos por un segundo numero. if num_1 > num_2: # Si el primer numero es mayor que el segundo. print('El primer numero es mayor que el segundo.') # Imprimimos esta expresión. elif num_1 < num_2: # En caso de que el segundo sea mayor. print('El segundo numero es mayor que el primero.') # Imprimiremos esta expresión. else: # En caso de que no cumpla ninguna condición. print('Los 2 numeros son iguales.')
Para ejecutar nuestro programa iremos a la terminal y escribiremos
python3 la/dirección/relativa/de/tu/archivo/programas_ramificados.py
y en consolo nos preguntara nuestros numeros y nos dara un resultado
Escoge un entero: 8 Escoge otro entero: 4 El primer numero es mayor que el segundo.
Escoge un entero: 7 Escoge otro entero: 10 El segundo numero es mayor que el primero.
Escoge un entero: 4 Escoge otro entero: 4 Los 2 numeros son iguales.
Buen resumen, muchas gracias por tu aporte :D
Gracias compañero
😊 Aqui va el reto
# Que se ingrese un nombre y edad para luego compararlos para indicar cual de las dos personas(como minimo) es mayor class Persona(object): def __init__(self, Nombre, Edad): self.nombre = Nombre self.edad = Edad # Cuando ponemos parametros para las funciones dentro de un objeto siempre debemos usar el self para que estemos referenciando siempre al mismo objeto def compararEdades(self,persona): if self.edad > persona.edad: print(f'{self.nombre} es mayor que {persona.nombre} por {self.edad - persona.edad} años') elif self.edad < persona.edad: print(f'{self.nombre} es menor que {persona.nombre} por {persona.edad - self.edad} años') else: print(f'{self.nombre} tiene la misma edad que {persona.nombre}!!! 🤯') primeraPersona = Persona(input('Cual es tu nombre ?\n'), int(input('Cual es tu edad ?\n'))) segundaPersona = Persona(input('Cual es tu nombre ?\n'), int(input('Cual es tu edad ?\n'))) primeraPersona.compararEdades(segundaPersona)```
Ok, hasta los momentos es la mejor solución que eh visto.
Muy bonita su solución, pero es para un nivel más avanzado, ya está usando clases y funciones, es mejor no ser lámpara
Me fui al curso basico de Python con el profe Facundo, y al regresar a este curso todo es muchisimo mas claro y facil de entender
Yo ayer terminé el curso Básico de Python. Decidí repasar este curso porque y entiendo mucho mejor ahora.
Si yo también lo hice, el profe es un capo, le entendí todo,recomendado.
Hola, aquí está el ejercicio Lo realicé con los conocimientos de Python que tengo hasta el momento 👌 Cualquier retroalimentación es bienvenida ✔️
Grecia me parece que el **print **que tienes en la función "def run()" , no es necesario . Solo seria calcula_edad(edad_1,edad_2,nombre_1,nombre_2)
Digo esto ya que a la hora invocar la funcion "def calcula_edad()" , esta funcion ya esta retornando (ese return que escribiste) un texto.
Por cierto muy buen manejo de funciones
This is what I did. However, after checking your code, I'm about to change mine! .
class Person: def __init__(self): self.name=None self.age=None print('Hola, hoy nos gustaría comparar la edad de 2 usuarios') user_1=Person() while user_1.name == None: user_1.name = input('Cómo te llamas? ') while user_1.age == None: age = input('Cuántos años tienes? ') if(age.isdigit()): user_1.age = int(age) user_2=Person() while user_2.name == None: user_2.name = input('Dinos el nombre de otra persona? ') while user_2.age == None: age_2 = input('Cuántos años tiene esa persona? ') if(age_2.isdigit()): user_2.age = int(age_2) if user_1.age>user_2.age: print(f'{user_1.name} ({user_1.age} años), eres mayor que {user_2.name} ({user_2.age} años)') elif user_2.age>user_1.age: print(f'{user_2.name} ({user_2.age} años) es mayor que tú') else: print(f'{user_1.name} eres de la misma edad que {user_2.name}')
Bastante interesante compañero, aunque creo que algo avanzado pero aun así buen aporte ya que ahora se que se puede solucionar de otra forma el mismo problema.
Hola. En el primer while para el nombre, si no ingreso nada el programa igual continua, ¿está bien así? En el segundo while para la edad, el programa sí me pide ingresar la edad cuando no ingreso nada antes.
< print('Este Programa compara la edad de dos personas') nombre_1 = input('Hola, cual es tu nombre? : ') edad_1 = int(input(f'{nombre_1} cual es tu edad? :')) print(f'Gracias {nombre_1}, el siguiente por favor') nombre_2 = input('Hola, cuales tu nombre? : ') edad_2 = int(input(f'{nombre_2} cual es tu edad? :')) comp_edades = abs(edad_1 - edad_2) print(f'Gracias {nombre_2}') print('Ahora les dire los resultados') if edad_1 > edad_2: print(f'{nombre_1} es mayor que {nombre_2}') print(f'Tiene actualmente {edad_1} años y es mayor por {comp_edades} años') elif edad_1 < edad_2: print(f'{nombre_2} es mayor que {nombre_1}') print(f'Tiene actualmente {edad_2} años y es mayor por {comp_edades} años') else: print(f'{nombre_1} y {nombre_2} tienen la misma edad') print(f'Ambos tienen {edad_1} años') print(f'Gracias {nombre_1} y {nombre_2} nos vemos') >
que es lo qu eestoy haciend mal aqui no me reconoce mi version de python?
Hola Walquiria!
Trataste de guardar el archivo ? trata de guardarlo como tal para que visual Code pueda reconocer la extensión .py
tienes que guardar el archivo en una ubicación de tu computador, una vez hecho eso lo puedes correr con el botón de play que aparece en VSC. pro tip: en la parte inferior que tienes de color morado, dale click en donde dice plain text y ponle python, asi te reconocera los comandos y podrás diferenciar por colores como lo muestra la clase.
Hola, éste es mi código y sus resultados:
Codigo:
nombre_1 = input('Escribe en nombre del usuario 1: ') edad_1 = int(input('Escribe la edad del usuario 1: ')) nombre_2 = input('Escribe en nombre del usuario 2: ') edad_2 = int(input('Escribe la edad del usuario 2: '))
if edad_1 > edad_2: print(f'{nombre_1} es mayor que {nombre_2}') elif edad_1 < edad_2: print(f'{nombre_2} es mayor que {nombre_1}') else: print(f'{nombre_1} y {nombre_2} tienen la misma edad')
Resultados:
Escribe en nombre del usuario 1: Juan Escribe la edad del usuario 1: 23 Escribe la edad del usuario 2: 25 Pedro es mayor que Juan
Escribe en nombre del usuario 1: Juan Escribe la edad del usuario 1: 25 Escribe en nombre del usuario 2: Pedro Escribe la edad del usuario 2: 23 Juan es mayor que Pedro
Escribe en nombre del usuario 1: Juan Escribe la edad del usuario 1: 24 Escribe en nombre del usuario 2: Pedro Escribe la edad del usuario 2: 24 Juan y Pedro tienen la misma edad
Entender ramificaciones es muy importante algo que me ayudo mucho fue combinarlo con teoría de conjuntos
nombre1 = input('¿Cuál es el nombre de la persona 1?: ') edad1 = int(input('¿Cuál es la edad de la persona 1?: ')) nombre2 = input('¿Cuál es el nombre de la persona 2?: ') edad2 = int(input('¿Cuál es la edad de la persona 2?: ')) if edad1 > edad2: print(f'{nombre1} es mayor que {nombre2}') elif edad2 > edad1: print(f'{nombre2} es mayor que {nombre1}') else: print(f'{nombre1} y {nombre2} tienen la misma edad')
feo pero funcional XD
usuario_1_name = input(f'1º Usuario: ') usuario_1_edad = int(input(f'Estimado {usuario_1_name}, ingrese su edad:')) usuario_2_name = input(f'2º Usuario: ') usuario_2_edad = int(input(f'Estimado {usuario_2_name}, ingrese su edad:')) msj ="" dif = usuario_1_edad - usuario_2_edad if dif > 0: msj = f"{usuario_1_name}, eres mayor que {usuario_2_name} por {abs(dif)} años." elif dif < 0: msj = f"{usuario_2_name}, eres mayor que {usuario_1_name} por {abs(dif)} años." elif dif == 0: msj = f"{usuario_1_name} y {usuario_2_name}, tienen la misma edad." else: msj= "que coño: {dif}" print(msj)
Noté que algunos utilizan algunos términos que realmente no entiendo ni sé cómo utilizarlos, supongo que es porque ya tienen noción sobre otros lenguajes de programación o ya están un tanto más avanzados en este lenguaje.
Aquí dejo mi código simple:
self_1 = input('¿Cuál es tu nombre?: ') edad_1 = int(input('¿Cuál es tu edad?: ')) self_2 = input('¿Cuál es tu nombre?: ') edad_2 = int(input('¿Cuál es tu edad? ')) if edad_1 > edad_2: print(self_1, 'es mayor que ', self_2 ) elif edad_1 < edad_2: print(self_1, ' es menor que ', self_2) else: print('Ambos tienen la misma edad')
¿Que diferencia hay entre usar un elif que simplemente usar un if?
Hola Eduardo, saludos.
Python permite agregar cualquier número de cláusulas elif después de una cláusula if y antes de else. Python evalúa cada condición, una por una y si se encuentra una condición verdadera, se ejecutará el bloque de sentencias bajo esa expresión.
https://www.mclibre.org/consultar/python/lecciones/python-if-else.html
Esto te puede ayudar
¿Cual es la diferencia entre poner varios "else" o "elif" ?
La estructura de la sentencia If es:
<code> if x==0 ejecutar acción elseif x==1 ejecutar otra acción else sin no cumple las anteriores ejecutar esta accion
donde elseif indica una condición para que se ejecute esa accion.
mientras que else sirve cuando tu variable en este caso x, no cumpla ninguna de tus condiciones, le accionas otra acción.
Un elif es una opción de muchas, en pocas palabras es otro if para esa misma selección. El else será la opción que contempla todas las opciones que no se han indicado en el if y los elif.
Para "rematar" al else no le puedes especificar la confidición.
if x == 1: print(1) elif x == 2: print(2): else: print('Lo que sea') `
Hola he hecho el ultimo ejercicio y lo he guardado como dice el profesor, pero a la hora de copiar la direccion en la terminal para poder ejecutarlo no me funciona. Me podrian explicar esa ultima parte a detalle por favor.
Hola, @vincetnene. :D
Quizás no te funciona porque en tu consola no te encuentras en el directorio (carpeta) donde estar tu archivo de Python. Te recomiendo esta clase del curso básico de Python para que veas cómo moverte en la terminal: https://platzi.com/clases/1937-pythonbasico/29626-tu-mejor-herramienta-la-consola/
Si esto te funciona cuéntame por favor. 🙌
Programar es algo que me divierte! Mi Solucion del reto
print ('Bienvenido') name_A = input('Ingresa el nombre del usuario A: ') age_A = int(input('Ingresa la edad del usuario A: ')) name_B = input('Ingresa el nombre del usuario B: ') age_B = int(input('Ingresa la edad del usuario B: ')) if age_A > age_B: print(f'{name_A} es mayor que {name_B}') elif age_B > age_A: print(f'{name_B} es mayor que {name_A}') else: print(f'{name_A} tiene la misma edad que {name_B}') print ('Gracias por participar')
genial
Excelente, programar es un hobbie, una pasion, algo que nos encanta, ademas de divertida, nunca pares de aprender :)
Hola, alguien me puede ayudar con respecto a ¿como quitar en entorno virtual de la consola (cmdr) sucede que no lo puedo quitar este virtual enviroment (venv) y no puedo hacer las praccticas.
Hola Jesus, con el comando deactivate
¡Hola, Jesús Armando!
Puedes usar el comando deactivate, tal como nos comenta Daniel.
Recuerda que un ambiente virtual es algo que aísla nuestro proyecto del resto de los que tenemos. Entonces, para desactivarlo, deactivate funciona para Windows, Linux y MacOs.
<nombre_1 = input('Cual es nombre del usuario 1: ') edad_1 = int(input(f'Ahora escribe la edad de {nombre_1}: ')) nombre_2 = input('Cual es el nombre del usuario 2: ') edad_2 = int(input(f'Ahora escribe la edad de {nombre_2}: ')) if edad_1 > edad_2: diferencia1 = edad_1 - edad_2 print(f'{nombre_1} es mayor que {nombre_2} por {diferencia1} años') elif edad_1 < edad_2: diferencia2 = edad_2 - edad_1 print(f'{nombre_2} es mayor que {nombre_1} por {diferencia2} años') else: print(f'{nombre_1} y {nombre_2} tienen la misma edad')>
resultado
Cual es nombre del usuario 1: Ruben Ahora escribe la edad de Ruben: 32 Cual es el nombre del usuario 2: Alejandra Ahora escribe la edad de Alejandra: 26 Ruben es mayor que Alejandra por 6 años