Las declaraciones if soportan mas que ==. Soportan simbolos de desigualdad tambien. ¿Recuerdas esas >, < y = que usabamos en la escuala hace mucho tiempo? BUeno, esán de vuelta, pero esta vez un poco diferentes.
# equal
5 == 5
# not equal
3 != 5
# greater than
5 > 3
# greater than or equal to
5 >= 3
# less than
3 < 5
# less than or equal to
3 <= 5
Esto es porque los input() trabajan detras de bastidores asumiendo que todo lo que tipeamos es un string, y se guardan en variables junto con " ".
CAmbio de tipo es donde le decimos explicitamente al computador que estamos tipeando numeros y no letras
El siguiente codigo asigna gaador al usuario si tiene 100.000 o mas puntos, de otra manera que intente de nuevo.
Copialo y pegalo y ponlo a correr, luego coloca la cantidad de puntos y mira que pasa
myScore = input("Your score: ")
if myScore > 100000:
print("Winner!")
else:
print("Try again 😭")
El programa se crashea porque le estamos introduciendo texto, en lugar de un numero al que se le pueda hacer una comparacion
Esto se soluciona añadiendo un int (numero entero) o un float (numero con decimales) para convertirlos.
Intentemos añadiendo un int delante del input y encerrando todo el input con ()
myScore = int(input("Your score: "))
if myScore > 100000:
print("Winner!")
else:
print("Try again 😭")
¿Ahora si funcionó?
La manera que el computador va a leer el codigo es comenzando que todo lo que está dentro de las comillas primero, el computador piensa que es un texto por " ", pero cuando le añadimos un int le estamos diciendo que no es un texto, es un numero entero.
¿Pero que tal un float?
Se hace exactamente lo mismo pero con un float() al principio, para numeros decimales.
myPi = float(input("¿Cuanto es el valor de PI? "))
if myPi == 3.1416:
print('Exacto')
else:
print('Intenta de nuevo 😭')
¿Cual es el error?
myPi = float(input("What is Pi to 3dp? ")
if myPi == 3.142 :
print("Exactly!")
else:
print("Try again 😭")
Respuesta: Olvidamos el segundo parentesis de cierre ) al final del input, recuerda qeu cada linea que tenga un simbolo de abertura necesita un simbolo de cierre
¿Cual es el error?
myPi = float input("What is Pi to 3dp?")
if myPi == 3.142 :
print("Exactly!)
else:
print("Try again 😭")
Respuesta: no hay parentesis de abertra ni de cierre para el float, debemos encerrar entre parentesis todo lo que queramos cambiar de tipo. Tampoco hay comillas de cierre en print("Exactly!)
Arregla este código
score = input("What was your score on the test?"))
if score >= 80
print("Not too shabby")
elif score > "70":
print("Acceptable.")
else:
print("Dude, you need to study more!")
Aqui tienen el codigo solucionado:
score = int(input("What was your score on the test? "))
if score >= 80:
print("Not too shabby")
elif score > 70:
print("Acceptable.")
else:
print("Dude, you need to study more!")
Generador de generaciones ¿A que generacion pertenecemos? Utiliza esta tabla como guia | Nombre de la generacion | Inicio Año de nacimiento | Fin año de nacimiento | |————————-|————————–|———————–| | Taadicionalistas | 1925 | 1946 | | Baby Boomers | 1947 | 1964 | | Generacion X | 1965 | 1981 | | Millenials | 1982 | 1995 | | Generacion Z | 1996 | 2015 |
Mi solucion la encuentran en main.py