In [1]:
"""
IPython Notebook v4.0 para python 2.7
Librerías adicionales: Ninguna.
Contenido bajo licencia CC-BY 4.0. Código bajo licencia MIT. (c) Sebastian Flores.
"""
# Configuracion para recargar módulos y librerías
%reload_ext autoreload
%autoreload 2
from IPython.core.display import HTML
HTML(open("style/iwi131.css", "r").read())
Out[1]:
In [ ]:
def ordenado(n):
str_n=str(n)
cont = 0
while cont<len(str_n):
if cont == len(str_n)-1:
return True
if str_n[cont]<str_n[cont+1]:#como compara strings??
return False
else:
cont+=1
print ordenado(1) # True
print ordenado(567) # False
print ordenado(9876) # True
print ordenado(98876) #True
In [ ]:
print "a" < "b"
print "a" < "z"
print "0" < "1"
print "5" < "9"
print "A" < "a"
print "Z" < "a"
print "abcdaria" < "abcedario" # Comparacion letra a letra
print "python" < "pythonistico" # Si inicios son iguales, gana la mas breve.
print "abc" < "z" # Si inicios son distintos, no depende de numero de letras
In [ ]:
def ordenado(n):
str_n = str(n)
j = 0
while j<len(str_n):
if j == len(str_n)-1:
return True
if int(str_n[j]) < int(str_n[j+1]):
return False
j += 1
print ordenado(1) # True
print ordenado(567) # False
print ordenado(9876) # True
print ordenado(98876) #True
Desarrollar la función convertir_eeuu(nota) que recibe como parámetro una nota en escala 0 -100 y retorne la nota en formato EE.UU.
In [ ]:
def convertir_eeuu(nota):
if nota>=90:
print "A"
elif nota>=70 and nota<90:
print "B"
elif nota>=55 and nota<70:
print "C"
elif nota<55:
print "F"
print convertir_eeuu(10)
print convertir_eeuu(30)
print convertir_eeuu(40)
print convertir_eeuu(55)
print convertir_eeuu(56)
print convertir_eeuu(80)
print convertir_eeuu(90)
In [ ]:
def convertir_eeuu(nota):
if nota>=90:
return "A"
elif nota>=70:
return "B"
elif nota>=55:
return "C"
else:
return "F"
print convertir_eeuu(10)
print convertir_eeuu(30)
print convertir_eeuu(40)
print convertir_eeuu(55)
print convertir_eeuu(56)
print convertir_eeuu(80)
print convertir_eeuu(90)
El profesor de programación Rasec Wholtedo ha comenzado a producir metanfetamina, una poderosa droga alucinógena. Para dar un mejor producto a sus compradores, el profesor produce distintas variantes de la droga. Estas pueden o no producir el efecto alucinógeno deseado, por lo que se realizan pruebas y analiza la efectividad en distintos adictos. A tal fin, los adictos se encuentra divididos en 3 grupos, leves (L), medios (M) y terminales (T), en los cuales se hacen las pruebas.
Cree un programa que pida la cantidad de variantes a probar, por cada una pida los casos exitosos en un string de L, M y T, donde cada letra es un caso de éxito en el grupo que identifica. Finalmente indicar la mejor variante de metanfetamina para cada adicto, es decir, la variante que más casos de éxito producen a cada grupo.
Nota: Si dos variantes tienen la misma cantidad de éxitos indicar cualquiera de las dos.
Numero de variantes: 3
Variante 1: LLMTTLMMMM
Variante 2: MMMMTTTMMTTTTT
Variante 3: TTTTLLLTLLLLL
Mejores variantes:
Adictos leves: 3
Adictos medios: 2
Adictos terminales: 2
Numero de variantes: 4
Variante 1: LLLLLMT
Variante 2: TTMMMMMT
Variante 3: TTLLLMMLMTT
Variante 4: TTTTMMLMTTT
Mejores variantes:
Adictos leves: 1
Adictos medios: 2
Adictos terminales: 4
Numero de variantes: 4
Variante 1: LLLLLMT
Variante 2: TTMMMMMT
Variante 3: TTLLLMMLMTT
Variante 4: TTTTMMLMTTT
Mejores variantes:
Adictos leves: 1
Adictos medios: 2
Adictos terminales: 4
In [ ]:
N = int(raw_input("Numero de variantes: "))
num_variante_actual = 1
max_L = 0
mejor_variante_L = 0
max_M = 0
mejor_variante_M = 0
max_T = 0
mejor_variante_T = 0
while num_variante_actual <= N:
variante_actual = raw_input("Variante " + str(num_variante_actual) + ":")
# Actualizar para leve
num_L = variante_actual.count("L")
if num_L > max_L:
max_L = num_L
mejor_variante_L = num_variante_actual
# Actualizar para Medio
num_M = variante_actual.count("M")
if num_M > max_M:
max_M = num_M
mejor_variante_M = num_variante_actual
# Actualizar para Terminal
num_T = variante_actual.count("T")
if num_T > max_T:
max_T = num_T
mejor_variante_T = num_variante_actual
# Actualizar variante
num_variante_actual += 1
# Outputs
print "Mejores variantes:"
print "Adictos leves:", mejor_variante_L
print "Adictos medios:", mejor_variante_M
print "Adictos terminales:", mejor_variante_T