0% encontró este documento útil (0 votos)
145 vistas19 páginas

Ejercicios en Python

El documento presenta una serie de ejercicios de programación en Python que involucran funciones y estructuras condicionales como if/elif/else. Se definen funciones para encontrar el número máximo entre dos o tres valores, contar la longitud de una lista o cadena, verificar si un carácter es vocal, sumar y multiplicar los elementos de una lista, invertir una cadena, verificar si una cadena es palíndromo, comprobar la superposición de dos listas, generar una cadena repetida, y dibujar un cuadrado usando un símbolo. También se proporcionan posibles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
145 vistas19 páginas

Ejercicios en Python

El documento presenta una serie de ejercicios de programación en Python que involucran funciones y estructuras condicionales como if/elif/else. Se definen funciones para encontrar el número máximo entre dos o tres valores, contar la longitud de una lista o cadena, verificar si un carácter es vocal, sumar y multiplicar los elementos de una lista, invertir una cadena, verificar si una cadena es palíndromo, comprobar la superposición de dos listas, generar una cadena repetida, y dibujar un cuadrado usando un símbolo. También se proporcionan posibles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Cualquier duda con los resultados dejar comentarios para poder aclararlas.

Ejercicio 1
#! /usr/bin/env python
# -*- coding: utf-8 -*def max (n1, n2):
if n1 < n2:
print n2
elif n2 < n1:
print n1
else:
print "Son iguales"
Aclaro que uso el print para llamar a la funcin de la manera max(8, 5).
Tambin se puede usar return.
Ejercicio 2
#! /usr/bin/env python
# -*- coding: utf-8 -*def max_de_tres (n1, n2, n3):
if n1 > n2 and n1 > n3:
print n1
elif n2 > n1 and n2 > n3:
print n2
elif n3 > n1 and n3 > n2:
print n3
else:
print "Son iguales"
Otra vez uso el print en ves del return. Dependiendo para que lo necesitemos
se usa uno u el otro. En este caso solo quiero mostrar por pantalla cual es el
mayor de los 3 nmeros.
Ejercicio 3
#! /usr/bin/env python
# -*- coding: utf-8 -*def largo_cadena (lista):
cont = 0
for i in lista:

cont += 1
return cont
En este ejercicio utilizo return en ves de print. Para ver el resultado tendramos
que llamar la funcin de la manera: print largo_cadena ([1,2,3,4]) o
print largo_cadena ("hola")
Ejercicio 4
#! /usr/bin/env python
# -*- coding: utf-8 -*def es_vocal (x):
if x == "a" or x == "e" or x == "i" or x == "o" or x == "u":
return True
elif x == "A" or x == "E" or x == "I" or x == "O" or x == "U":
return True
else:
return False
Ejercicio 5
#! /usr/bin/env python
# -*- coding: utf-8 -*def sum (lista):
suma = 0
for i in lista:
suma += i
return suma

def multip (lista):


multiplicacion = 1
for i in lista:
multiplicacion *= i
return multiplicacion
Ejercicio 6
#! /usr/bin/env python
# -*- coding: utf-8 -*def inversa (cadena):

invertida = ""
cont = len(cadena)
indice = -1
while cont >= 1:
invertida += cadena[indice]
indice = indice + (-1)
cont -= 1
return invertida
Bueno reconozco que di muchas vueltas para resolver la palabra invertida.
Quiz ustedes tengan una solucin mas simple para los que recin se estn
iniciando. Cualquier cosa dejan un comentario y explico como funciona.
Ejercicio 7
#! /usr/bin/env python
# -*- coding: utf-8 -*def inversa (cadena):
invertida = ""
cont = len(cadena)
indice = -1
while cont >= 1:
invertida += cadena[indice]
indice = indice + (-1)
cont -= 1
return invertida
def es_palindromo (cadena):
palabra_invertida = inversa (cadena)
indice = 0
cont = 0
for i in range (len(cadena)):
if palabra_invertida[indice] == cadena[indice]:
indice += 1
cont += 1
else:
print "No es palindromo"
break
if cont == len(cadena): #Si el contador = a la cantidad de letras de la
cadena
print "Es palindromo" # es porque recorri todo el ciclo for y todas las
# letras son iguales

Como dije en el ejercicio anterior yo lo pens as, pero deben haber formas mas
fciles de resolverlo.Yo utilizo los conocimientos que hasta la fecha tengo sobre
python.
Lo que hago en este ejercicio es utilizar la funcin del ejercicio anterior
(palabra invertida) para poder compararla con la cadena que nosotros
deseemos.
Ejercicio 8
#! /usr/bin/env python
# -*- coding: utf-8 -*def superposicion (lista1, lista2):
for i in lista1:
for x in lista2:
if i == x:
return True
return False
En esta funcin lo que hacemos es comparar dos listas.
Ejercicio 9
#! /usr/bin/env python
# -*- coding: utf-8 -*def generar_n_caracteres (n, caracter):
print n * caracter
Ejercicio 10
#! /usr/bin/env python
# -*- coding: utf-8 -*def procedimiento (lista):
for i in lista:
print i * "x"
Estara bueno que dejen sus soluciones para comparar ac, o en la entrada
donde estn propuestos los ejercicios.
1.- Crear un algoritmo que escriba "Hola" cinco veces.
// 1.- Crear un algoritmo que escriba "Hola" cinco veces.

Proceso Resuelto01
Para x <- 1 Hasta 5 Hacer
Escribir "Hola";
FinPara
FinProceso
2.- Crear un algoritmo que pida al usuario un nmero y le diga si es positivo,
negativo o cero.
// 2.- Crear un algoritmo que pida al usuario un numero y le diga si es positivo,
negativo o cero.
Proceso Resuelto02
Escribir "Dime un numero";
Leer x;
Si x > 0 Entonces
Escribir "Es positivo";
Sino
Si x < 0 Entonces
Escribir "Es negativo";
Sino
Escribir "Es cero";
FinSi
FinSi
FinProceso
3.- Crear un algoritmo que pida al usuario 5 datos y muestre su suma.
// 3.- Crear un algoritmo que pida al usuario 5 datos y muestre su suma.
// Forma (a), sin usar matrices
Proceso Resuelto03
suma <- 0
Para x <- 1 Hasta 5 Hacer
Escribir "Dime un dato";
Leer x;
suma <- suma + x;
FinPara
Escribir "Su suma es ", suma;
FinProceso
o de forma alternativa, usando matrices:
// 3.- Crear un algoritmo que pida al usuario 5 datos y muestre su suma.
// Forma (b), usando matrices
Proceso Resuelto03

Dimension dato[5]
Para x <- 1 Hasta 5 Hacer
Escribir "Dime un dato";
Leer dato[x];
FinPara
suma <- 0
Para x <- 1 Hasta 5 Hacer
suma <- suma + dato[x];
FinPara
Escribir "Su suma es ", suma;
FinProceso
4.- Crear un algoritmo que calcule la raz cuadrada del nmero que introduzca
el usuario. Si se introduce un nmero negativo, debe mostrar un mensaje de
error y volver a pedirlo (tantas veces como sea necesario).
// 4.- Crear un algoritmo que calcule la raz cuadrada del nmero
// que introduzca el usuario. Si se introduce un nmero negativo,
// debe mostrar un mensaje de error y volver a pedirlo
// (tantas veces como sea necesario).
Proceso Resuelto04
Repetir
Escribir "Dime un numero";
Leer x;
Si x < 0 Entonces
Escribir "No puede ser negativo";
FinSi
Hasta Que x >= 0
Escribir "Su raiz es ", rc(x);
FinProceso
5.- Crear un algoritmo que pida al usuario un nmero y un smbolo, y dibuje un
cuadrado usando ese smbolo. El cuadrado tendr el tamao que ha indicado el
usuario.
(No funcionar correctamente en versiones de PseInt anteriores a agosto de
2011)
// 5.- Crear un algoritmo que pida al usuario un nmero y un smbolo,
// y dibuje un cuadrado usando ese smbolo. El cuadrado tendr el tamao

// que ha indicado el usuario.


// No funciona con versiones de PseInt de antes de Agosto de 2011,
// porque las versiones previas a la 20110801 no permiten escribir
// sin avanzar de linea
Proceso Resuelto05
Escribir "Dime el lado";
Leer lado;
Escribir "Dime el simbolo de relleno";
Leer simbolo;
Para fila<-1 Hasta lado Hacer
Para columna <- 1 Hasta lado Hacer
Escribir Sin Saltar simbolo ; // Escribir sin bajar de lnea
FinPara
Escribir ""; // Avance de lnea tras cada fila
FinPara
FinProceso
Soluciones de los ejercicios - if... elif... else...
Se ofrecen a continuacin unas posibles soluciones de los ejercicios
de if ... elif ... else ....
if ... elif ... else ... 01
Si el programa no tiene en cuenta que no se puede dividir por cero, se pueden
escribir sentencias condicionales independientes:
print("Divisor de nmeros")
dividendo = int(input("Escriba el dividendo: "))
divisor = int(input("Escriba el divisor: "))
if dividendo % divisor == 0:
print("La divisin es exacta. Cociente:", dividendo // divisor)
if dividendo % divisor != 0:
print("La divisin no es exacta. Cociente:", dividendo // divisor,
"Resto:", dividendo % divisor)
... o escribir sentencias condicionales encadenadas:
print("Divisor de nmeros")
dividendo = int(input("Escriba el dividendo: "))
divisor = int(input("Escriba el divisor: "))

if dividendo % divisor == 0:
print("La divisin es exacta. Cociente:", dividendo // divisor)
else:
print("La divisin no es exacta. Cociente:", dividendo // divisor,
"Resto:", dividendo % divisor)
Aprovechando que un nmero distinto de cero se considera True, tambin se
podra escribir:
print("Divisor de nmeros")
dividendo = int(input("Escriba el dividendo: "))
divisor = int(input("Escriba el divisor: "))
if dividendo % divisor:
print("La divisin no es exacta. Cociente:", dividendo // divisor,
"Resto:", dividendo % divisor)
else:
print("La divisin es exacta. Cociente:", dividendo // divisor)
Pero si se quiere tener en cuenta que no se puede dividir por cero, no se
pueden utilizar tres sentencias condicionales independientes. Se podran
utilizar sentencias anidadas:
print("Divisor de nmeros")
dividendo = int(input("Escriba el dividendo: "))
divisor = int(input("Escriba el divisor: "))
if divisor == 0:
print("No se puede dividir por 0")
else:
if dividendo % divisor == 0:
print("La divisin es exacta. Cociente:", dividendo // divisor)
else:
print("La divisin no es exacta. Cociente:", dividendo // divisor,
"Resto:", dividendo % divisor)
... o sentencias condicionales encadenadas:
print("Divisor de nmeros")
dividendo = int(input("Escriba el dividendo: "))
divisor = int(input("Escriba el divisor: "))
if divisor == 0:
print("No se puede dividir por 0")
elif dividendo % divisor == 0:
print("La divisin es exacta. Cociente:", dividendo // divisor)
else:
print("La divisin no es exacta. Cociente:", dividendo // divisor,
"Resto:", dividendo % divisor)

if ... elif ... else ... 02


El siguiente programa utiliza sentencias condicionales independientes (el orden
no es importante):
print("Comparador de nmeros")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
if numero1 > numero2:
print("Menor:", numero2, "Mayor:", numero1)
if numero1 < numero2:
print("Menor:", numero1, "Mayor:", numero2)
if numero1 == numero2:
print("Los dos nmeros son iguales")
El siguiente programa utiliza sentencias condicionales encadenadas (el orden
no es importante):
print("Comparador de nmeros")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
if numero1 > numero2:
print("Menor:", numero2, "Mayor:", numero1)
elif numero1 < numero2:
print("Menor:", numero1, "Mayor:", numero2)
else:
print("Los dos nmeros son iguales")
if ... elif ... else ... 03
El siguiente programa utiliza sentencias condicionales independientes (el orden
no es importante):
print("Comparador de aos")
fecha1 = int(input("En qu ao estamos?: "))
fecha2 = int(input("Escriba un ao cualquiera: "))
if fecha1 > fecha2:
print("Desde el ao", fecha2, "han pasado", fecha1 - fecha2, "aos")
if fecha1 < fecha2:
print("Para llegar al ao", fecha2, "faltan", fecha2 - fecha1, "aos")
if fecha1 == fecha2:
print("Son el mismo ao!")
El siguiente programa utiliza sentencias condicionales encadenadas (el orden
no es importante):
print("Comparador de aos")
fecha1 = int(input("En qu ao estamos?: "))

fecha2 = int(input("Escriba un ao cualquiera: "))


if fecha1 > fecha2:
print("Desde el ao", fecha2, "han pasado", fecha1 - fecha2, "aos")
elif fecha1 < fecha2:
print("Para llegar al ao", fecha2, "faltan", fecha2 - fecha1, "aos")
else:
print("Son el mismo ao!")
El siguiente programa tiene en cuenta cuando la diferencia entre fechas es
nicamente un ao:
print("Comparador de aos")
fecha1 = int(input("En qu ao estamos?: "))
fecha2 = int(input("Escriba un ao cualquiera: "))
if fecha1 - fecha2 == 1:
print("Desde el ao", fecha2, "ha pasado 1 ao")
elif fecha1 > fecha2:
print("Desde el ao", fecha2, "han pasado", fecha1 - fecha2, "aos")
elif fecha1 - fecha2 == -1:
print("Para llegar al ao", fecha2, "falta 1 ao")
elif fecha1 < fecha2:
print("Para llegar al ao", fecha2, "faltan", fecha2 - fecha1, "aos")
else:
print("Son el mismo ao!")
if ... elif ... else ... 04
El siguiente programa utiliza varias sentencias condicionales independientes,
puesto que cada caso es distinto y no se pueden cumplir dos condiciones a la
vez:
print("Comparador de mltiplos")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
if numero1 >= numero2 and numero1 % numero2:
print(numero1, "no es mltiplo de", numero2)
if numero1 >= numero2 and numero1 % numero2 == 0:
print(numero1, "es mltiplo de", numero2)
if numero1 < numero2 and numero2 % numero1:
print(numero2, "no es mltiplo de", numero1)
if numero1 < numero2 and numero2 % numero1 == 0:
print(numero2, "es mltiplo de", numero1)

El siguiente programa encadena las condiciones, ahorrndonos la ltima


condicin:
print("Comparador de mltiplos")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
if numero1 >= numero2 and numero1 % numero2:
print(numero1, "no es mltiplo de", numero2)
elif numero1 >= numero2 and numero1 % numero2 == 0:
print(numero1, "es mltiplo de", numero2)
elif numero1 < numero2 and numero2 % numero1:
print(numero2, "no es mltiplo de", numero1)
else:
print(numero2, "es mltiplo de", numero1)
El siguiente programa utiliza sentencias condicionales anidadas:
print("Comparador de mltiplos")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
if numero1 >= numero2:
if numero1 % numero2:
print(numero1, "no es mltiplo de", numero2)
else:
print(numero1, "es mltiplo de", numero2)
else:
if numero2 % numero1:
print(numero2, "no es mltiplo de", numero1)
else:
print(numero2, "es mltiplo de", numero1)
El siguiente programa utiliza variables auxiliares que almacenan el nmero
ms grande y el ms pequeo:
print("Comparador de mltiplos")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
if numero1 >= numero2:
mayor = numero1
menor = numero2
else:
mayor = numero2
menor = numero1

if mayor % menor:
print(mayor, "no es mltiplo de", menor)
else:
print(mayor, "es mltiplo de", menor)
if ... elif ... else ... 05
En este ejercicio unas situaciones incluyen a otras (el caso "tres valores
iguales" es un caso particular del caso "dos valores iguales"). En esos casos, el
orden en que se comprueban las situaciones hace que las expresiones sean
ms o menos complicadas.
En el siguiente programa se trata primero el caso ms complicado (dos
nmeros iguales), por lo que la primera condicin es complicada. Hay que
comprobar todos los casos posibles (que cualquier pareja de valores sean
iguales y que el tercer nmero sea distinto). La condicin est escrita entre
parntesis porque ocupa ms de un lnea.
print("Comparador de tres nmeros")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
numero3 = int(input("Escriba otro nmero ms: "))
if (numero1 == numero2 != numero3 or numero1 == numero3 != numero2 or
numero2 == numero3 != numero1):
print("Ha escrito uno de los nmeros dos veces.")
elif numero1 == numero2 == numero3:
print("Ha escrito tres veces el mismo nmero.")
else:
print("Los tres nmeros que ha escrito son distintos.")
En el siguiente programa el caso ms complicado (dos nmeros iguales) se
deja para el final, para no tener que escribir la condicin de ese caso
print("Comparador de tres nmeros")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
numero3 = int(input("Escriba otro nmero ms: "))
if numero1 != numero2 and numero1 != numero3 and numero2 != numero3:
print("Los tres nmeros que ha escrito son distintos.")
elif numero1 == numero2 == numero3:
print("Ha escrito tres veces el mismo nmero.")
else:
print("Ha escrito uno de los nmeros dos veces.")

En el siguiente programa, aunque el caso ms complicado (dos nmeros


iguales) no se deja para el final, la condicin correspondiente no es tan
complicada como en el primer ejemplo, ya que la primera condicin elimina los
casos en los que los tres nmeros son iguales y en la segunda condicin
simplemente se comprueba que haya dos iguales (no hace falta comprobar que
el tercero sea distinto puesto que si fueran iguales se cumplira la primera
condicin).
print("Comparador de tres nmeros")
numero1 = int(input("Escriba un nmero: "))
numero2 = int(input("Escriba otro nmero: "))
numero3 = int(input("Escriba otro nmero ms: "))
if numero1 == numero2 == numero3:
print("Ha escrito tres veces el mismo nmero.")
elif numero1 == numero2 or numero1 == numero3 or numero2 == numero3:
print("Ha escrito uno de los nmeros dos veces.")
else:
print("Los tres nmeros que ha escrito son distintos.")
Es importante sealar que mientras que en el primer y segundo programa se
podran intercambiar la primera y segunda condicin y los programas seguiran
funcionando, en el tercer programa no se podran intercambiar la primera y
segunda condicin ya que el programa no dara la respuesta correcta al escribir
tres valores iguales.
if ... elif ... else ... 06
El siguiente programa utiliza sentencias condicionales independientes, por lo
que el orden en que se escriban las sentencias condicionales no es importante:
print("Comprobador de aos bisiestos")
fecha = int(input("Escriba un ao y le dir si es bisiesto: "))
if fecha %4 != 0:
print("El ao", fecha, "no es un ao bisiesto.")
if fecha % 100 == 0 and fecha % 400 != 0:
print("El ao", fecha, "no es un ao bisiesto porque es mltiplo de 100",
"sin ser mltiplo de 400.")
if fecha % 4 == 0 and fecha % 100 != 0:
print("El ao", fecha, "es un ao bisiesto porque es mltiplo de 4.")
if fecha % 400 == 0:
print("El ao", fecha, "es un ao bisiesto porque es mltiplo de 400.")
Como algunos de estos casos estn incluidos en otros (los mltiplos de 400 son
mltiplos de 100 y los mltiplos de 100 son mltiplos de 4), las condiciones se
pueden simplificar si se escriben sentencias condicionales encadenadas y se
empieza por el caso ms especial.

Al haber comprobado en el primer caso si la fecha es mltiplo de 400, en el


segundo caso no hace falta comprobar que la fecha no sea mltiplo de 400. Y
de la misma manera, en el tercer caso no hace falta comprobar que la fecha
sea mltiplo de 100.
print("Comprobador de aos bisiestos")
fecha = int(input("Escriba un ao y le dir si es bisiesto: "))
if fecha % 400 == 0:
print("El ao", fecha, "es un ao bisiesto porque es mltiplo de 400.")
elif fecha % 100 == 0:
print("El ao", fecha, "no es un ao bisiesto porque es mltiplo de 100",
"sin ser mltiplo de 400.")
elif fecha % 4 == 0:
print("El ao", fecha, "es un ao bisiesto porque es mltiplo de 4.")
else:
print("El ao", fecha, "no es un ao bisiesto.")
En el programa anterior el orden en que se hacen las comprobaciones es muy
importante. Si se reordenaran las sentencias sin modificar las condiciones, el
programa fallara.
El programa puede compactarse si no se detallan los motivos por los que un
ao es bisiesto y simplemente se responde si el ao es bisiesto o no:
print("Comprobador de aos bisiestos")
fecha = int(input("Escriba un ao y le dir si es bisiesto: "))
if fecha % 400 == 0 or (fecha % 100 != 0 and fecha % 4 == 0):
print("El ao", fecha, "es un ao bisiesto.")
else:
print("El ao", fecha, "no es un ao bisiesto.")
if ... elif ... else ... 07
El siguiente programa utiliza sentencias condicionales independientes:
print("Ecuacin a x + b = 0")
a = float(input("Escriba el valor del coeficiente a: "))
b = float(input("Escriba el valor del coeficiente b: "))
if a != 0:
print("Una solucin:", - b / a)
if a == 0 and b == 0:
print("Todos los nmeros son solucin")
if a == 0 and b != 0:
print("Sin solucin")
El siguiente programa utiliza sentencias condicionales encadenadas para
simplificar las condiciones. El primer caso es el caso ms especial (ambos

coeficientes nulos), el segundo caso es el siguiente ms especial (el coeficiente


a nulo) y el ltimo el ms general (coeficientes no nulos).
print("Ecuacin a x + b = 0")
a = float(input("Escriba el valor del coeficiente a: "))
b = float(input("Escriba el valor del coeficiente b: "))
if a == b == 0:
print("Todos los nmeros son solucin")
elif a == 0:
print("Sin solucin")
else:
print("Una solucin:", - b / a)
if ... elif ... else ... 08
El siguiente programa utiliza sentencias condicionales independientes, por lo
que el orden de las sentencias condicionales podra ser cualquiera:
print("Ecuacin a x + b x + c = 0")
a = float(input("Escriba el valor del coeficiente a: "))
b = float(input("Escriba el valor del coeficiente b: "))
c = float(input("Escriba el valor del coeficiente b: "))
d = b*b - 4*a*c
if a == b == c == 0:
print("Todos los nmeros son solucin")
if a == b == 0 and c != 0:
print("Sin solucin")
if a == 0 and b != 0 and c != 0:
print("Una solucin:", -c / b)
if a !=0 and d < 0:
print("Sin solucin real")
if a !=0 and d == 0:
print("Una solucin:", -b / (2*a))
if a !=0 and d > 0:
print("Dos soluciones:", (-b - d**0.5) / (2*a), "y",
(-b + d**0.5) / (2*a))
El siguiente programa utiliza sentencias condicionales encadenadas para
simplificar las condiciones. Las tres primeras son similares a las del ejercicio de
la ecuacin de primer grado (el trmino a es 0) y el orden es importante. Las
tres ltimas corresponden a ecuaciones de segundo grado propiamente dichas
(el trmino a es distinto de 0). Las tres ltimas pueden estar en cualquier
orden, pero siempre detrs de las tres primeras.
print("Ecuacin a x + b x + c = 0")
a = float(input("Escriba el valor del coeficiente a: "))
b = float(input("Escriba el valor del coeficiente b: "))

c = float(input("Escriba el valor del coeficiente b: "))


d = b*b - 4*a*c
if a == b == c == 0:
print("Todos los nmeros son solucin")
elif a == b == 0:
print("Sin solucin")
elif a == 0:
print("Una solucin:", - c / b)
elif d < 0:
print("Sin solucin real")
elif d == 0:
print("Una solucin:", - b / (2*a))
else:
print("Dos soluciones:", (-b - d**0.5) / (2*a), "y",
(-b + d**0.5) / (2*a))
Tambin se podran agrupar las tres ltimas condiciones:
print("Ecuacin a x + b x + c = 0")
a = float(input("Escriba el valor del coeficiente a: "))
b = float(input("Escriba el valor del coeficiente b: "))
c = float(input("Escriba el valor del coeficiente b: "))
if a == b == c == 0:
print("Todos los nmeros son solucin")
elif a == b == 0:
print("Sin solucin")
elif a == 0:
print("Una solucin:", - c / b)
else:
d = b*b - 4*a*c
if d < 0:
print("Sin solucin real")
elif d == 0:
print("Una solucin:", - b / (2*a))
else:
print("Dos soluciones:", (-b - d**0.5) / (2*a), "y",
(-b + d**0.5) / (2*a))
if ... elif ... else ... 09
print("Clculo de reas - Elige una figura geomtrica:")
print("a) Tringulo")
print("b) Crculo")
respuesta = input("Qu figura quiere calcular (Escriba T o C)? ")

if respuesta == "T" or respuesta == "t":


base = float(input("Escriba la base: "))
altura = float(input("Escriba la altura: "))
print("Un tringulo de base", base, "y altura", altura,
"tiene un rea de", base * altura / 2)
elif respuesta == "C" or respuesta == "c":
radio = float(input("Escriba el radio: "))
print("Un crculo de radio", radio, "tiene un rea de ",
3.141592 * radio**2)
if ... elif ... else ... 10
El siguiente programa escribe el resultado sin separadores y sea cual sea su
valor:
print("Convertidor de centmetros a kilmetros, metros y centmetros")
centimetros = int(input("Escriba una distancia en centmetros: "))
kilometros = centimetros // 100000
metros = centimetros % 100000 // 100
resto = centimetros % 100
print(centimetros, "cm son", kilometros, "km", metros, "m", resto, "cm")
El siguiente programa escribe el resultado sin separadores, escribiendo
nicamente los valores distintos de cero:
print("Convertidor de centmetros a kilmetros, metros y centmetros")
centimetros = int(input("Escriba una distancia en centmetros: "))
kilometros = centimetros // 100000
metros = centimetros % 100000 // 100
resto = centimetros % 100
print(centimetros, "cm son ", end="")
if kilometros:
print(kilometros, "km ", end="")
if metros:
print(metros, "m ", end="")
if centimetros == 0 or resto:
print(resto, "cm")
El siguiente programa escribe el resultado con comas como separadores,
escribiendo nicamente los valores distintos de cero:
print("Convertidor de centmetros a kilmetros, metros y centmetros")
centimetros = int(input("Escriba una distancia en centmetros: "))
kilometros = centimetros // 100000
metros = centimetros % 100000 // 100

resto = centimetros % 100


print(centimetros, "cm son ", end="")
if kilometros:
if metros or resto:
print(kilometros, "km, ", end="")
else:
print(kilometros, "km")
if metros:
if resto:
print(metros, "m, ", end="")
else:
print(metros, "m")
if centimetros == 0 or resto:
print(resto, "cm")
El siguiente programa escribe el resultado con comas y la conjuncin "y" como
separadores, escribiendo nicamente los valores distintos de cero y teniendo
en cuenta el caso de 1 cm (escribe la respuesta en singular):
print("Convertidor de centmetros a kilmetros, metros y centmetros")
centimetros = int(input("Escriba una distancia en centmetros: "))
kilometros = centimetros // 100000
metros = centimetros % 100000 // 100
resto = centimetros % 100
if centimetros < 0:
print("No se admiten valores negativos")
elif centimetros == 1:
print("1 cm es 1 cm")
else:
print(centimetros, "cm son ", end="")
if kilometros:
if (metros and resto == 0) or (metros == 0 and resto):
print(kilometros, "km y ", end="")
elif metros or resto:
print(kilometros, "km, ", end="")
else:
print(kilometros, "km")
if metros:
if resto:
print(metros, "m y ", end="")
else:
print(metros, "m")
if centimetros == 0 or resto:

print(resto, "cm")

También podría gustarte