sábado, 2 de mayo de 2015

Soluciones CodeCademy JavaScript tema "¡Cazador de Dragones!"

Soluciones al tema de "¡Cazador de Dragones!" del curso de  JavaScript de la web CodeCademy


2/6
var atacar= true;
var vosAcertas=  Math.floor(Math.random()*2);
var lastimaEsteRound = Math.floor(Math.random()*5+1);
var perdidaTotal=0;

3/6
while(atacar){
    atacar=false;
}

4/6
while(atacar){
    if(vosAcertas){
        console.log("Acertaste al dragón");
    }else{
        console.log("El dragón te pudo");    
    }
    atacar=false;
}

5/6
var atacar=true;
var vosAcertas=  Math.floor(Math.random()*2);
var lastimaEsteRound = Math.floor(Math.random()*5+1);
var perdidaTotal=0;
while(atacar){
    if(vosAcertas){
        console.log("Acertaste al dragón");
        perdidaTotal+=lastimaEsteRound;
        if(perdidaTotal>=4){
           console.log("Has derrotado al dragón");
           atacar=false;
        }else{
            vosAcertas=  Math.floor(Math.random()*2);
        }
    }else{
        console.log("El dragón te pudo");    
    }
    atacar=false;
}

lunes, 20 de abril de 2015

Soluciones CodeCademy JavaScript tema "Introducción a los ciclos While"

Soluciones al tema de "Introducción a los ciclos While" del curso de  JavaScript de la web CodeCademy


1/11
var caraMoneda = Math.floor(Math.random() * 2);

while(caraMoneda){
console.log("¡Cara! Lanza de nuevo...");
var caraMoneda = Math.floor(Math.random() * 2);
}
console.log("¡Seca! Lanzamiento concluido.");

2/11
var understand = true;

while(understand){
console.log("¡Estoy aprendiendo sobre los ciclos 'while'!");
understand = false;

}

3/11
entender = true;

while(entender){
console.log("¡Estoy aprendiendo sobre los ciclos 'while'!");
//¡Cambiá acá el valor de 'entender'!
entender=false;
}

4/11
var bool = true;

while(bool){
    console.log("¡Menos es más!");
    bool = false;
}

5/11
numVeces=0;

var ciclo = function(){
while(numVeces<3){
   console.log("¡Estoy en un bucle!");
   numVeces=numVeces+1;
   "raquel".toLowerCase();
}
};
ciclo();

6/11
invierno=true;
var soloCiclo = function(){
  while(invierno){
        console.log("¡Un ciclo!");
        invierno=false;
      }

};

soloCiclo();

8/11
NumVeces=0;

while(numVeces<4){
    console.log("llevas "+ numVeces+" intentos");
    numVeces++;
}

for (i=0;i<3;i++){
    console.log("hola");
}

9/11
condicionCiclo = false;

do {
console.log("¡Voy a dejar de hacer ciclos porque mi condición es " + String(condicionCiclo) + "!");

} while (condicionCiclo === true);

10/11
var alHelicoptero = function(){
 do{
    console.log("esto es una prueba");
    } while(3>5);
};

11/11
// Tabla 9 con un for
var num=9;
for(i=0;i<=10;i++){
    console.log(num+" x "+i+" = "+(num*i));  
}

// Tabla 9 con un while
var contador=0;
while(contador<=10){
    console.log(num+" x "+contador+" = "+(contador*num));
    contador++;
}

// Tabla 9 con un Do.. while
contador = 0;
do {
    console.log(num+" x "+contador+" = "+(contador*num));
    contador++;

} while(contador<=10);

domingo, 5 de abril de 2015

Soluciones CodeCademy JavaScript."Introducción a los ciclos for"

Soluciones CodeCademy JavaScript."Introducción a los ciclos for" de la web CodeCademy



1/13
console.log(1);
console.log(2);
console.log(3);
console.log(4);
console.log(5);

2/13
for( var counter = 1; counter < 11; counter ++) {
console.log(counter);
}

3/13
for (var i = 5; i < 11; i = i + 1){
console.log(i);
}

4/13
for (var i = 4; i < 24; i++){
console.log(i);
}

5/13
for (var i = 5; i <=50; i=i+5) {
console.log(i);
}

6/13
for (var i = 8 ; i < 120; i=i+12) {
console.log(i);
}

7/13
for( var i = 10 ; i >= 0 ; i -- ) {
console.log(i);
}

8/13
for( var i = 100 ; i > 0 ; i=i-5 ) {
console.log(i);
}

9/13
var chatarra = ["cazuela", "cuchara", 7,6];

10/13
var datosChatarra = ["Eddie Murphy", 49, "maníes", 31];
console.log(datosChatarra[3]);

11/13
var ciudades = ["Logroño", "Nájera", "Calahorra", "Ezcaray"];

for (var i = 0; i < ciudades.length; i++) {
    console.log("Me gustaría visitar" + " " + ciudades[i]);
}

12/13
var nombres=["Raquel", "María","Pedro","Juan","Lucía"];
for (var i = 0; i < nombres.length; i++) {
    console.log("Yo conozco a alguien que se llama " + nombres[i]);
}




sábado, 21 de marzo de 2015

Soluciones CodeCademy JavaScript . Piedra, papel o tijera 9/9

Soluciones al tema de "Piedra, papel o tijera " de JavaScript de la web CodeCademy


9/9
En este último punto nos dan la opción de añadir algo más al juego, yo he añadido que valide la entrada del usuario, es decir, que si no introduces ni "piedra", ni "papel" ni "tijera", te pida automáticamente que introduzcas de nuevo el dato.
El trozo de código hay que ponerlo en la segunda línea, justo después de la entrada del usuario

var validar= function(opcion){
    correcto=false;
    if((opcion==="piedra") || (opcion ==="papel") || (opcion==="tijera")){
        //Si la entrada es válida devolverá true, false si  no.
        return correcto=true; 
    }else{
        return correcto=false; 
    }  
}
//si la entrada es errónea, entra en el if
if(!validar(usuarioElige)){
    //pedimos una nueva entrada
    usuarioElige = prompt("piedra, papel o tijera?");
    //mientras esta sea falsa, pedirá una nueva
    while (!validar(usuarioElige)){
        usuarioElige = prompt("piedra, papel o tijera?");
    }
}


jueves, 12 de marzo de 2015

Soluciones CodeCademy JavaScript . Piedra, papel o tijera

Soluciones al tema de "Piedra, papel o tijera " de JavaScript de la web CodeCademy



2/9
var usuarioElige = prompt("¿Piedra, papel o tijera?");

3/9
var usuarioElige = prompt("¿Piedra, papel o tijera?");;
var computadoraElige = Math.random();
console.log(computadoraElige);

4/9
if (computadoraElige<=0.33) {
    computadoraElige="piedra";
} else if (computadoraElige>=0.67) {
   computadoraElige="tijera";
} else {
    computadoraElige="papel";
}

5/9
var comparar= function(eleccion1,eleccion2){
    if(eleccion1===eleccion2){
        return "¡Es un empate!";
    }
}

6/9
var comparar= function(eleccion1,eleccion2){
    if(eleccion1===eleccion2){
        return "¡Es un empate!";
    }
    if(eleccion1==="piedra"){
        if(eleccion2==="tijera"){
            return "piedra gana";    
        }else{
            return "papel gana";
        }
    }
}

7/9
var comparar= function(eleccion1,eleccion2){
    if(eleccion1===eleccion2){
        return "¡Es un empate!";
    }
    if(eleccion1==="piedra"){
        if(eleccion2==="tijera"){
            return "piedra gana";    
        }else{
            return "papel gana";
        }
    }else if(eleccion1 === "papel"){
        
        if(eleccion2 === "piedra"){
           return "papel gana"; 
        }
    }
}

8/9
var comparar= function(eleccion1,eleccion2){
    if(eleccion1===eleccion2){
        return "¡Es un empate!";
    }
    if(eleccion1==="piedra"){
        if(eleccion2==="tijera"){
            return "piedra gana";    
        }else{
            return "papel gana";
        }
    }else if(eleccion1 === "papel"){
        
        if(eleccion2 === "piedra"){
           return "papel gana"; 
        }
    }
    
    if(eleccion1 === "tijera"){
        if(eleccion2 === "piedra"){
           return "gana piedra"; 
        }else{
            return "gana tijera";
        }
    }
}

comparar(usuarioElige,computadoraElige);

9/9  
He añadido una función que valide la entrada del usuario, puedes verlo aquí

jueves, 5 de marzo de 2015

Soluciones CodeCademy JavaScript . introducción a las funciones Parte 2

Soluciones al tema de "Introducción a las funciones" de JavaScript de la web CodeCademy del 7/13 al 13/13





7/13
var nuevoNumero = porDos(17);
console.log(nuevoNumero);

8/13
var unCuarto=function(numero){
    return numero/4;
    }

if (unCuarto(12) % 3 == 0 ) {
  console.log("La sentencia es verdadera");
} else {
  console.log("La sentencia es falsa");
}

9/13
var perimetroCaja=function(lado1,lado2){
    return lado1*2 + lado2*2;
}
perimetroCaja(2,6);

10/13
var mi_numero = 7; //esto tiene ambito global

var porDos = function(numero) {
    var mi_numero = numero * 2;
    console.log("Dentro de la funcion mi_numero es: ");
    console.log(mi_numero);
};

porDos(7);

console.log("Fuera de la funcion mi_numero es: ")
console.log(mi_numero);

11/13
var nombreCadena = function (nombre) {
    return "Hola, soy" + " " + nombre;
}

console.log(nombreCadena("Raquel"));

12/13
var controlDescanso = function(cantHoras){
    
    if(cantHoras>=8){
        return "¡Estás durmiendo suficiente! ¡Demasiado quizás!";
        }else{
          return  "¡Cerrá los ojos un poco más!";
            }
    }

controlDescanso(10);
controlDescanso(5);
controlDescanso(8);

viernes, 27 de febrero de 2015

Soluciones CodeCademy JavaScript tema "Elige tu propia aventura"

Soluciones al tema de "Elige tu propia aventura" de JavaScript de la web CodeCademy



1/7
confirm("¡Estoy listo para jugar!");

2/7
confirm("¡Estoy listo para jugar!");
var edad = prompt("¿Cuántos años tienes?");
if(edad<13)
{
  console.log("Juegas bajo tu responsabilidad");
}
else   // "de otro modo"
{
  console.log("Empieza cuando quieras");
}

3/7
console.log("Ves a Messi caminando por la calle Florida. Está disfrazado y vos sois la única persona que lo reconoce. A su lado camina un guardaespaldas con cara de pocos amigos. Caminas hacia él.");

4/7
console.log("Te acercas a Messi. El guardaespaldas te mira con odio.");
var respuestaUsuario = prompt("¿Te animas a enfrentarte al guardaespaldas?");

5/7
if(respuestaUsuario==="Sí"){
    console.log("El guardaespaldas se ríe. ¡Solo te quería asustar! Claro que puedes sacarte una foto con la pulga.¡Sonrían!");
}else{
    console.log("¡Que lástima! No conseguiste una foto con Messi para subir a tu muro de Facebook.");
    }

6/7
var opinion = prompt("Califica el juego de 1 a 10");
if (opinion>8){
    console.log("Este es solo el primero de mis juegos. Si quieres ver más, ¡no te desconectes!");
    }else{
    console.log("¿Me maté haciendo este juego para que me des esa calificación?! ¡Es el colmo!");
}

martes, 24 de febrero de 2015

Soluciones CodeCademy JavaScript . introducción a las funciones Parte 1


Soluciones al tema de "Introducción a las funciones" de JavaScript de la web CodeCademy del 1/13 al 6/13



1/13
if (velocidad >89) {
console.log("bajá la velocidad");
}
else {
    console.log("Manejo seguro");
}

2/13
var dividirPorTres = function (number) {
    var val = number / 3;
    console.log(val);
};
dividirPorTres(5);

3/13
saludo("Raquel");

4/13
var pedidoDeComida = function(comida){
        console.log("Quiero comer" + " " + comida);
    }

pedidoDeComida("pizza");

5/13
var saludo= function(nombre){
    console.log(nombre);
};
saludo("Raquel");

6/13
var costoNaranjas= function(precio){
       console.log(precio*5);
    }
costoNaranjas(5);

jueves, 19 de febrero de 2015

Soluciones CodeCademy JavaScript. Tema de introducción. Parte 2

Soluciones al tema de "Introducción" de JavaScript de la web CodeCademy  Parte 1, del 19/28 al 28/28


20/28
console.log(14 % 3);
console.log(99 % 8);
console.log(11 % 3);

21/28
if(16%2 ===0 ) {
    console.log("¡El primer número es par!");
} else {
    console.log("¡El primer número es impar!");
}

22/28
"milanesas".substring(3,7);

23/28
console.log("Enero".substring(0,3));
console.log("Argentina es hermosa".substring(0,12));
console.log("Hamburguesas".substring(5,12));

24/28
var miEdad = 28;
console.log(miEdad);

25/28
var miPais = "España";
//Usa console.log para mostrar el largo de la variable miPais
console.log(miPais.length);
//Usa console.log para mostrar las tres primeras letras de miPais
console.log(miPais.substring(0,3));

26/28
var miEdad=28;
console.log(miEdad);
miEdad="di";
console.log(miEdad);

27/28
var miColor="Azul";
console.log(miColor.length);

28/28
var nota=7;
if(nota>=5){
    console.log("Terminé mi primer curso");
}else{
 
    console.log("Suspendí");
}

lunes, 16 de febrero de 2015

Soluciones CodeCademy JavaScript. Tema de introducción. Parte 1




Soluciones al tema de "Introducción" de JavaScript de la web CodeCademy  Parte 1, del 10/28 al 19/28


10/28
"hola mi nombre es Raquel".length

11/28
"Estoy haciendo códigos como un genio".length>10;

12/28
console.log(2 * 5);
console.log("Hola");

13/28
console.log("Mercedes".length  < 122);
console.log("Jorge Luis Borges".length  > 8);
console.log(8*2 === 16  );

14/28
if ("Raquel".length>2 ) {
    console.log( "más que dos");
}

15/28
if ("Raquel".length>35 )
{
    alert("¡Tu nombre es largo!");
}
else
{
    console.log("tu nombre es corto");
}
16/28
if (4>32){
    console.log("La condición es verdadera");
}else{
    console.log("La condición es falsa");
}

17/28
if (10 === 10){
    console.log("¡Es verdadero!");
} else {
    console.log("¡Es falso!");
}

18/28
if(12 / 4 === "Ari".length){
    confirm("¿Esto va a ejecutar el primer bloque?");
} else {
    confirm("¿O  el segundo bloque?");
}

19/28
if("Ana".length * 2 / (2+1) === 2)
{
    console.log("¡Esa respuesta tiene sentido!");
} else{
    console.log("Error Error Error");
}

viernes, 13 de febrero de 2015

Soluciones CodeCademy Python. Entrada y salida de archivos




Soluciones al tema de "Entrada y salida en archivos" de Python de la web CodeCademy



2/9
mi_archivo  = open("salida.txt", "r+")

for i in my_list:
    mi_archivo.write(str(i) + "\n")
mi_archivo.close()

3/9
mi_lista = [i**2 for i in range(1,11)]

mi_archivo = open("salida.txt", "r+")

# Add your code below!
for item in mi_lista:
    mi_archivo.write(str(item) + "\n")

mi_archivo.close()

4/9
mi_archivo =open("salida.txt","r")
print mi_archivo.read()
mi_archivo.close()

5/9
mi_archivo  = open("texto.txt", "r")
for i in range (3):
    print mi_archivo.readline()
mi_archivo.close()

6/9
# Abre el archivo para lectura
lee_archivo = open("texto.txt", "r")

# Usa un controlador de un segundo archivo para abrir el archivo para escritura
escribe_archivo = open("texto.txt", "w")
# Escribí en el archivo
escribe_archivo.write("No cerrar los archivo es MUY GRAVE.")

escribe_archivo.close()

# Intenta leer desde el archivo
print lee_archivo.read()
lee_archivo.close()

7/9
with open("texto.txt", "w") as textofile:
textofile.write("¡Éxitos!")
8/9
mi_archivo=open("texto.txt", "w")
with mi_archivo as textofile:
textofile.write("¡Éxitos!")
9/9
mi_archivo=open("texto.txt", "w")
with mi_archivo as textofile:
textofile.write("¡Éxitos!")

if not mi_archivo.closed:
    mi_archivo.close()
print mi_archivo.closed

viernes, 6 de febrero de 2015

Soluciones CodeCademy Python. Clases. Parte 2

Soluciones al tema de "Clases" de Python de la web CodeCademy Parte 1 del 7/11 al 11/11




7/11 -imprime bien la salida pero da erróneo-
class Auto(object):
condicion = "nuevo"
def __init__(self, modelo, color, kpl):
self.modelo = modelo
self.color = color
self.kpl = kpl
def verAuto(self):
   frase= "Este es un " +self.modelo+" color "+ self.color+" que alcanza "+ str(self.kpl)+" kpl."
   return frase
   

miAuto = Auto("Clio", "gris", 16)
print miAuto.condicion
print miAuto.modelo
print miAuto.color
print miAuto.kpl
print miAuto.verAuto()

8/11
class Auto(object):
condicion = "nuevo"
def __init__(self, modelo, color, kpl):
self.modelo = modelo
self.color = color
self.kpl = kpl
def verAuto(self):
   frase= "Este es un " +self.modelo+" color "+ self.color+" que alcanza "+ str(self.kpl)+" kpl."
   return frase
def manejarAuto(self):
   self.condicion="usado"

miAuto = Auto("Clio", "gris", 16)
print miAuto.condicion
miAuto.manejarAuto();
print miAuto.condicion

9/11
class AutoElectrico(Auto):
    def __init__(self, modelo, color, kpl, tipoDeBateria):
        super(AutoElectrico, self).__init__(modelo, color, kpl)
        self.tipoDeBateria = tipoDeBateria

miAuto = AutoElectrico("Opel", "negro", 17,"sales fundidas")

10/11
class AutoElectrico(Auto):
    def __init__(self, modelo, color, kpl, tipoDeBateria):
        super(AutoElectrico, self).__init__(modelo, color, kpl)
        self.tipoDeBateria = tipoDeBateria
    def manejarAuto(self):
        self.condicion="como nuevo"

miAuto = AutoElectrico("Opel", "negro", 17,"sales fundidas")
print miAuto.condicion
miAuto.manejarAuto()
print miAuto.condicion

11/11
class Punto3D(object):
    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

    def __repr__(self):
        return "(%d, %d, %d)" % (self.x, self.y, self.z)

miPunto = Punto3D(1, 2, 3)

print miPunto

lunes, 2 de febrero de 2015

Soluciones CodeCademy Python. Clases. Parte 1


Soluciones al tema de "Clases" de Python de la web CodeCademy Parte 1 del 1/11 al 6/11



1/11
class Auto(object):
    pass

2/11
class Auto(object):
    pass
miAuto=Auto();

3/11
class Auto(object):
    condicion="nuevo"
miAuto=Auto();

4/11
class Auto(object):
    condicion="nuevo"
miAuto=Auto();
print miAuto.condicion

5/11
class Auto(object):
    condicion="nuevo"
    def __init__(self,modelo,color,kpl):
        self.modelo=modelo
        self.color=color
        self.kpl=kpl
miAuto=Auto("Clio","gris",16);
print miAuto.condicion

6/11
class Auto(object):
    condicion="nuevo"
    def __init__(self,modelo,color,kpl):
        self.modelo=modelo
        self.color=color
        self.kpl=kpl

miAuto=Auto("Clio","gris",16);
print miAuto.condicion
print miAuto.modelo
print miAuto.color
print miAuto.kpl



miércoles, 28 de enero de 2015

Soluciones CodeCademy Python. Introducción a las clases Parte 3

Soluciones al tema de "Introducción a las clases" de Python de la web CodeCademy del 14/18 al 18/18


15/18
class Triangulo(object):
    def __init__(self,angulo1,angulo2,angulo3):
        self.angulo1=angulo1
        self.angulo2=angulo2
        self.angulo3=angulo3

16/18
class Triangulo(object):
    def __init__(self,angulo1,angulo2,angulo3):
        self.angulo1=angulo1
        self.angulo2=angulo2
        self.angulo3=angulo3
    numero_de_lados=3
    
    def revisar_angulos(self):
        total=self.angulo1+self.angulo2+self.angulo3
        if total==180:
            return True
        else:
            return False

17/18
class Triangulo(object):
    def __init__(self,angulo1,angulo2,angulo3):
        self.angulo1=angulo1
        self.angulo2=angulo2
        self.angulo3=angulo3
    numero_de_lados=3
    
    def revisar_angulos(self):
        total=self.angulo1+self.angulo2+self.angulo3
        if total==180:
            return True
        else:
            return False
mi_triangulo=Triangulo(90,30,60)
print mi_triangulo.numero_de_lados
print mi_triangulo.revisar_angulos()

18/18 -este me da error, si alguien tiene la solución y la pone en los comentarios, se lo agradecería -
class Equilatero(Triangulo):
    angulo=60
    def __init__(self):
        self.angulo1=angulo
        self.angulo2=angulo
        self.angulo3=angulo

lunes, 26 de enero de 2015

Soluciones CodeCademy Python. Introducción a las clases Parte 2

Soluciones al tema de "Introducción a las clases" de Python de la web CodeCademy del 9/18 al 14/18



10/18
mi_carrito=CarritoDeCompras ("Raquel")
mi_carrito.agregar_item("macarrones",2)

11/18
-sólo aceptar-

12/18
class Triangulo(Figura):
    def __init__(self,lado1,lado2,lado3):
        self.lado1=lado1
        self.lado2=lado2
        self.lado3=lado3

13/18
class EmpleadoMedioTiempo(Empleado):
 
    def calcular_sueldo(self, horas):
return horas * 50.00
     
14/18
class EmpleadoMedioTiempo(Empleado):
 
    def calcular_sueldo(self, horas):
self.horas = horas
return horas * 50.00
    def sueldo_jornada_completa(self,horas):
        return super(EmpleadoMedioTiempo,self).calcular_sueldo(horas)
     
milton=EmpleadoMedioTiempo("Raquel")
print milton.sueldo_jornada_completa(10)



viernes, 16 de enero de 2015

Soluciones CodeCademy Python. Introducción a las clases. Parte 1


Soluciones al tema de "Introducción a las clases" de Python de la web CodeCademy




2/18
class Animal(object):
    pass

3/18
class Animal(object):
    def __init__(self):
        pass

4/18
class Animal(object):
    def __init__(self,nombre):
        self.nombre=nombre

5/18
class Animal(object):
    def __init__(self,nombre):
        self.nombre=nombre

cebra=Animal("Tomasa")
print cebra.nombre

6/18
# Definición de clase
class Animal(object):
"""Crea animales lindos."""
# Para iniciar nuestros objetos de instancia
def __init__(self, nombre, edad,con_hambre):
self.nombre = nombre
self.edad = edad
self.con_hambre=con_hambre

7/18
class Animal(object):
"""Crea animales lindos."""
esta_vivo = True
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad

cebra = Animal("Tomasa", 2)
jirafa = Animal("Anita", 1)
panda = Animal("Pompón", 7)

print cebra.nombre, cebra.edad, cebra.esta_vivo
print jirafa.nombre, jirafa.edad, jirafa.esta_vivo
print panda.nombre, panda.edad, panda.esta_vivo

8/18
class Animal(object):
"""Crea animales lindos."""
esta_vivo = True
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
# ¡Agregá acá tu método!
def descripcion():
   print animal.nombre
   print animal.edad

hipopotamo  = Animal("Anita", 12)
hipopotamo.descripcion

9/18
class Animal(object):
"""Crea animales lindos."""
esta_vivo = True
salud="buena"
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
# ¡Agregá acá tu método!
def descripcion():
   print animal.nombre
   print animal.edad

hipopotamo  = Animal("Anita", 12)
carpincho  = Animal("Paco", 2)
alpaca = Animal("Juan", 16)
perezoso=Animal("Juan", 16)
ocelote=Animal("Juan", 16)
print ocelote.salud
print hipopotamo.salud
print carpincho.salud
print alpaca.salud
print perezoso.salud

martes, 13 de enero de 2015

Soluciones CodeCademy Python. Introducción a los operadores a nivel de bits.


Soluciones al tema de "Introducción a los operadores a nivel de bits" del curso de Python de la web Codecademy


3/14 - Hay que traducir los nombres de las variables al inglés para que no de error
one = 0b1
two = 0b10
three = 0b11
four = 0b100
five = 0b101
six = 0b110
seven = 0b111
eight = 0b1000
nine = 0b1001
ten= 0b1010
eleven = 0b1011
twelve = 0b1100

4/14
for x in range(1,6):
    print bin(x)

5/14
print int("11001001",2)

6/14
desplaza_derecha = 0b1100
desplaza_izquierda = 0b1
desplaza_derecha=desplaza_derecha >> 2
desplaza_izquierda=desplaza_izquierda << 2
print bin(desplaza_derecha)
print bin(desplaza_izquierda)

7/14
print bin(0b1110 & 0b0101)

8/14
print bin(0b1110 | 0b0101)

9/14
print bin(0b1110 ^ 0b0101)

10/14 -sólo ver-

11/14
def controla_bit4(num):
    mask = 0b1000
    pas = mask & num
    if pas > 0:
        return  "on"
    else:
        return "off"

12/14
mask = 0b100
print bin(a | mask)

13/14
mask_len = len(bin(a)) -2
mask = int("1"*mask_len,2)
desired = a ^ mask
print bin(desired)

14/14
def invierte_bit (numero, n):
 mask = (0b1 << (n-1))
 resultado = numero ^ mask
 return bin(resultado)

sábado, 10 de enero de 2015

Soluciones Codecademy Python. Temas avanzados

Soluciones al tema "Temas avanzados en Python" de la web CodeCademy


1/18
my_dict={
    "palabra":"significado"
    }
print my_dict.items()

2/18
my_dict={
    "palabra":"significado"
    }
print my_dict.values()
print my_dict.keys()

3/18
for clave in my_dict:
    print clave, my_dict[clave]

4/18
evens_to_50 = [i for i in range(51) if i % 2 == 0]
print evens_to_50

5/18
cuadrados_pares =[x*2 for x in range(1,11) ]
print cuadrados_pares

6/18
cubos_por_cuatro= [x**3 for x in range(1,11) if ((x**3)%4)==0 ]
print cubos_por_cuatro

8/18  - Hay que cambiar el nombre a "my_list" para que no de fallo
my_list = range(1,11) # Lista de números 1 - 10
print my_list[::2]

9/18
my_list = range(1, 11)
hacia_atras = my_list[::-1]
print hacia_atras

10/18 -Falla-

11/18
to_21 = range(1,22)
impares = to_21[::2]
tercio_medio = to_21[7:14]

13/18
lenguajes = ["HTML", "JavaScript", "Python", "Ruby"]
print filter(lambda x:x=="Python" , lenguajes)

14/18
cuadrados=[x**2 for x in range(1,11)]
print filter(lambda x: x>=30 and x<=70,cuadrados)

15/18
peliculas = {
"Monty Python y el Santo Grial": "Genial",
"La vida de Brian en Monty Python": "Bueno",
"El sentido de la vida en Monty Python": "Bien"
}
print peliculas

16/18
treses_y_cincos=[i for i in range(1,16) if i % 3 == 0 or i%5==0]

17/18 -imprime correcto pero no lo da por válido
iincomprensible = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
mensaje=incomprensible[::-2]
print mensaje

18/18
incomprensible = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX"
mensaje=filter(lambda x: x!="X",incomprensible[::-1])
print mensaje

viernes, 9 de enero de 2015

Soluciones Codecademy Python. Estadísticas del examen

Buenas !! Aquí os dejo las soluciones al tema "Estadísticas del examen" del curso de python de la web Codecademy




2/9
def print_notas(notas):
    for item in notas:
        print item
print_notas(notas)

4/9
def notas_sum(calificaciones):
    suma=0
    for item in calificaciones:
        suma=suma+item
    return suma
print notas_sum(calificaciones)

5/9
grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]

def notas_sum(grades):
    total = 0
    for item in grades:
        total =total+item
    return total

print notas_sum(grades)

def promedio_notas(grades):
    return notas_sum(grades) / float(len(grades))

print promedio_notas(grades)

7/9
grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50,5]

def notas_sum(grades):
    total = 0
    for item in grades:
        total =total+item
    return total

print notas_sum(grades)

def promedio_notas(grades):
    return notas_sum(grades) / float(len(grades))

print promedio_notas(grades)

def varianza_notas(calificaciones):
    promedio=promedio_notas(calificaciones)
    varianza=0
    for item in calificaciones:
        varianza=varianza+(promedio-item)**2
    return varianza/len(calificaciones)
 
print varianza_notas(grades)

8/9 (da error)
def calificaciones_std_desviacion(varianza):
    return varianza**0.5
 
varianza=varianza_notas(grades)

print calificaciones_std_desviacion(varianza)

9/9

jueves, 8 de enero de 2015

Soluciones Codeacademy Python. La práctica hace al maestro

Soluciones al tema de "La práctica hace al maestro" de la web Codecademy


2/15
def es_par(x):
    if x%2==0:
        return True
    else:
        return False

3/15
def es_entero(x):
    if x-int(x)==0:
        return True
    else:
        return False

4/15
def suma_de_digitos(n):
    resultado=0
    while n > 0:
        resultado =resultado+ n % 10
        n=n/10
    return resultado

5/15
def factorial(x):
    num=x
    resultado=1
    while num>0:
        resultado=resultado*num
        num=num-1

    return resultado

6/15
def es_primo(x):
    if x<2:
        return False
    for i in range(2,x):
        if x%i ==0 :
            return False
            break

    return True

7/15
def reverse(texto):
    nueva=""
    for letra in texto:
        nueva=letra+nueva
    return nueva

8/15
def anti_vocal(texto):
    vocales="AEIOUaeiou"
    sin_vocales=""
    for letra in texto:
        esta=False
        for vocal in vocales:
            if vocal==letra:
                esta=True
        if esta==False:
            sin_vocales=sin_vocales+letra
        esta=False
     
    return sin_vocales


 9/15
def puntaje_scrabble(palabra):
    mayus="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    minus="abcdefghijklmnopqrstuvwxyz"
    puntos=0
    cuantos=len(mayus)
    for letra in palabra:
        for abc in range(0,cuantos):
            if letra==mayus[abc] or letra==minus[abc]:
                puntos=puntos+score[minus[abc]]

    return puntos

10/15
def censor(texto,palabra):
    cod="*"*len(palabra)
    return texto.replace(palabra,cod)

11/15
def contar(secuencia, item):
    cuantos=0
    for secu in secuencia:
        if secu==item:
            cuantos=cuantos+1
    return cuantos

12/15
def purificar(lista):
    pares=[]
    for item in lista:
        if item%2 ==0:
            pares.append(item)

    return pares

13/15
def producto(lista):
    multi=1
    for item in lista:
        multi=multi*item

    return multi

14/15
def eliminar_repetidos(lista):
    nueva=[]
    for item in lista:
        if item not in nueva:
            nueva.append(item)
    return nueva

15/15
def media(lista):
    lista=sorted(lista)
    mitad=len(lista)/2
    if len(lista)%2==0:
        return (lista[mitad]+lista[mitad-1])/2.0
    else:

        return lista[mitad]

miércoles, 7 de enero de 2015

Soluciones Codecademy Python , El estudiante se vuelve profesor

Buenas !! Aquí os dejo las soluciones al tema "El estudiante se vuelve profesor " del curso de python de la web Codecademy


1/9
candela = {
    "nombre": "candela",
    "tareas":[],
    "pruebas":[],
    "examenes":[],
}
milagros={
    "nombre":"milagros",
    "tareas":[],
    "pruebas":[],
    "examenes":[],
}
ramiro={
    "nombre":"ramiro",
    "tareas":[],
    "pruebas":[],
    "examenes":[],
}

2/9
Candela = {
    "nombre":"Candela",
    "tareas": [90, 97, 75, 92],
    "pruebas": [88, 40, 94],
    "examenes": [75, 90]
    }
Milagros = {
    "nombre":"Milagros",
    "tareas": [100.0, 92.0, 98.0, 100.0],
    "pruebas": [82.0, 83.0, 91.0],
    "examenes": [89.0, 97.0]
    }
Ramiro = {
    "nombre":"Ramiro",
    "tareas": [0.0, 87.0, 75.0, 22.0],
    "pruebas": [0.0, 75.0, 78.0],
    "examenes": [100.0, 100.0]
}  

3/9
alumnos=[Candela,Milagros,Ramiro]

4/9
for alu in alumnos:
    print alu["nombre"]
    print alu["tareas"]
    print alu["pruebas"]
    print alu["examenes"]

5/9
def promedio(numeros):
    total=sum(numeros)
    total=float(total)
    return total/len(numeros)

6/9
def sacar_promedio(alumno):
    tareas= promedio(alumno["tareas"])
    pruebas= promedio(alumno["pruebas"])
    examenes= promedio(alumno["examenes"])
    return tareas*0.1+pruebas*0.3+examenes*0.7

7/9
def calificaciones_con_letras(resultado):
    if resultado >= 90:
        return "A"
    elif resultado>=80:
        return "B"
    elif resultado>=70:
        return "C"
    elif resultado>=60:
        return "D"
    else:
        return "F"
print calificaciones_con_letras(sacar_promedio(candela))
 
8/9
def obtener_promedio_clase(alumnos):
    puntajes=[]
    for alu in alumnos:
        puntajes.append(sacar_promedio(alu))
    return promedio(puntajes)

9/9
alumnos=[candela,milagros,ramiro]
print obtener_promedio_clase(alumnos)

martes, 6 de enero de 2015

Soluciones Codeacademy Python . Ciclos

Soluciones al tema 13 de Python, de la web  Codeacademy  tema ciclos


1/19
while recuento < 10:
    print "Hola, Soy un bucle while y el recuento es", recuento
    recuento += 1

3/19
num = 1
while num<=10:
    print num**2
    num=num+1

4/19
while eleccion !='s' and eleccion !='n':
    eleccion  = raw_input("Lo lamento, no entendi eso.  Ingresalo de nuevo: ")

5/19
recuento = 0
while recuento < 10:
print recuento
recuento=recuento+1

8/19
numero_aleatorio = randint(1, 10)

opciones_restantes = 3
while opciones_restantes>0:
    opcion = int(raw_input("Tu opcion: "))
    adivina=opcion
    if adivina==numero_aleatorio:
        print '!Ganaste!'
        break
    opciones_restantes=opciones_restantes-1
else:
        print 'Perdiste'

9/19
for i in range(20):
    print i

10/19
pasatiempos = []
for i in range(3):
    pasatiempo=raw_input(("introduce tu pasatiempo"))
    pasatiempos.append(pasatiempo)

11/19
palabra = "huevos!"

for p in palabra:
    print p

12/19
frase = "canasta"
for fr in frase:
    if fr=='A' or fr=='a':
        print 'X',
    else:
        print fr,

13/19
for num in numeros:
    print num**2

14/19
d = {'a': 'manzana', 'b': 'mora', 'c': 'cereza'}

for clave in d:
    print clave + " " + d[clave]

15/19
comidas = ['pizza', 'pasta', 'ensalada', 'nachos']

print 'Tus opciones son:'
for indice, item in enumerate(comidas):
    print indice+1, item

16/19
list_a = [3, 9, 17, 15, 19]
list_b = [2, 4, 8, 10, 30, 40, 50, 60, 70, 80, 90]

for a, b in zip(list_a, list_b):
    if a > b:
        print a
    else:
        print b

18/19
frutas = ['banana', 'manzana', 'naranja', 'naranja', 'pera', 'uva']  

19/19
nombre="Raquel"
for n in nombre:
    print n,
else:
    print "es mi nombre"


lunes, 5 de enero de 2015

Soluciones Codeacademy Python. Batalla Naval Parte 2

Soluciones al tema 12 del curso de Python de  Codeacademy . Batalla naval. Parte 2


11/19
if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
else:
    print "Agua, no tocaste mi barco"
tablero[adivina_fila]="X"
tablero[adivina_columna]="X"

12/19
if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
else:
    if adivina_fila not in range(5) or adivina_columna not in range(5):
        print "Huy, eso ni siquiera está en el océano"
    else:
        print "Agua, no tocaste mi barco"

13/19
if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"
elif tablero[adivina_fila][adivina_columna]=="X":
    print "Ya dijiste esa."
else:
    if adivina_fila not in range(5) or adivina_columna not in range(5):
        print "Huy, eso ni siquiera está en el océano"
    else:
        print "Agua, no tocaste mi barco"

14/19
-nada-

15/19
for turn in range(4):
    adivina_fila = input("Adivina fila: ")
    adivina_columna = input("Adivina columna: ")
    
    if adivina_fila == barco_fila and adivina_columna == barco_columna:
      print "Felicitaciones! Hundiste mi barco!"
    else:
      if (adivina_fila < 0 or adivina_fila > 4) or (adivina_columna < 0 or adivina_columna > 4):
        print "Huy, eso ni siquiera esta en el océano."
      elif(tablero[adivina_fila][adivina_columna] == "X"):
        print "Ya dijiste esa."
      else:
      print "No tocaste mi barco!"
      tablero[adivina_fila][adivina_columna] = "X"
      print "Turn", turn+1
      print_tablero(tablero)

16/19
for turn in range(4):
    adivina_fila = input("Adivina fila: ")
    adivina_columna = input("Adivina columna: ")
    
    if adivina_fila == barco_fila and adivina_columna == barco_columna:
      print "Felicitaciones! Hundiste mi barco!"
    else:
      if (adivina_fila < 0 or adivina_fila > 4) or (adivina_columna < 0 or adivina_columna > 4):
        print "Huy, eso ni siquiera esta en el océano."
      elif(tablero[adivina_fila][adivina_columna] == "X"):
        print "Ya dijiste esa."
      else:
      print "No tocaste mi barco!"
      tablero[adivina_fila][adivina_columna] = "X"
      print "Turn", turn+1
      print_tablero(tablero)
    if turn==3:
        print "Fin del juego"
    else:
        print "Fin del juego"

17/19
for turn in range(4):
    adivina_fila = input("Adivina fila: ")
    adivina_columna = input("Adivina columna: ")
    
    if adivina_fila == barco_fila and adivina_columna == barco_columna:
      print "Felicitaciones! Hundiste mi barco!"
      break
    else:
      if (adivina_fila < 0 or adivina_fila > 4) or (adivina_columna < 0 or adivina_columna > 4):
        print "Huy, eso ni siquiera esta en el océano."
      elif(tablero[adivina_fila][adivina_columna] == "X"):
        print "Ya dijiste esa."
      else:
      print "No tocaste mi barco!"
      tablero[adivina_fila][adivina_columna] = "X"
      print "Turn", turn+1
      print_tablero(tablero)
    if turn==3:
        print "Fin del juego"
    else:
        print "Fin del juego"



19/19

domingo, 4 de enero de 2015

Soluciones Codecademy Python Batalla Naval parte1

 Soluciones al tema 12 del curso de Python de  Codeacademy . Batalla naval. Parte 1


2/19
tablero=[]

3/19
for i in range(0,5):
    tablero.append(['O']*5)

4/19
for i in range(0,5):
    tablero.append(['O']*5)
print tablero

5/19
for i in range(0,5):
    tablero.append(['O']*5)
 
def print_tablero(tablero):
    for i in tablero:
        print i

6/19
def print_tablero(tablero):
    for item in tablero:
        print " ".join(item)

7/19
def fila_aleatoria(tablero):
    return randint(0,len(tablero)-1)

def columna_aleatoria(tablero):
    return randint(0,len(tablero)-1)

8/19
barco_fila = fila_aleatoria(tablero)
barco_col = columna_aleatoria(tablero)

adivina_fila=int(raw_input("Adivina Fila: "))
adivina_columna=int(raw_input("Adivina Columna: "))

9/19
print barco_col

print barco_fila

10/19
if adivina_fila==barco_fila and adivina_columna==barco_columna:
    print "Felicitaciones, Hundiste mi barco!"

sábado, 3 de enero de 2015

Soluciones Codecademy Python. Listas y Funciones

Soluciones al tema de Listas y Funciones de la web Codecademy


1/18
print n[1]

2/18
n[1]=n[1]*5

3/18
n.append(4)

4/18
del(n[0])

5/18
numero = 5
def mi_funcion(x):
    return x * 3
print mi_funcion(numero)

6/18
def agregar_funcion(x,y):
    return x+y
print agregar_funcion(m, n)

7/18
def funcion_cadena (cadena):
    return cadena+"mundo"
print funcion_cadena(n)

8/18
-sólo aceptar-

9/18
def funcion_lista(x):
    return x[1]

n = [3, 5, 7]
print funcion_lista(n)

10/18
def funcion_lista(x):
    x[1]=x[1]+3
    return x

n = [3, 5, 7]
print funcion_lista(n)

11/18
n = [3, 5, 7]
# Agrega aquí tu función
def extension_lista(lst):
    lst.append(9)
    return lst
print extension_lista(n)

12/18
def mostrar_lista(x):
    for i in range(0, len(x)):
        print x[i]
     
mostrar_lista(n)

13/18
def doble_lista (x):
    for i in range(0, len(x)):
        x[i]=x[i]*2
    return x
     

doble_lista (n)

14/18
print mi_funcion(range(3))

15/18
def total(numeros):
    resultado=0
    for num in numeros:
        resultado=resultado+num
    return resultado

16/18
def unir_cadenas(palabras):
    resultado=""
    for i in range(len(palabras)):
        resultado=resultado+palabras[i]
    return resultado

print unir_cadenas(n)

17/18
def unir_listas(x,y):
    return x+y
print unir_listas(m, n)

18/18
def combinar(listas):
    resultados=[]
    for lst in listas:
        for item in lst:
            resultados.append(item)
    return resultados
 

print combinar(n)

viernes, 2 de enero de 2015

Soluciones Codecademy Python. Un día en el supermercado


 Soluciones al tema 9 del curso de Python de  Codeacademy . Un día en el supermercado. Dónde se utilizan los diccionarios y listas vistos en el tema anterior.



1/13
nombres = ["Adela","Alex","Maria","Martin","Carlos"]
for i in nombres:
    print i

2/13
Webster = {
     "Cerdo hormiguero" : "La estrella de un conocido programa infantil de dibujos animados.",
     "Bee" : "El sonido que hace una cabra.",
     "Alfombra": "Va en el piso.",
     "Pizca": "Una poca cantidad."
    }
for key in Webster:
        print Webster[key]

3/13
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
for num in a:
    if num%2==0:
        print num

4/13
def contar_burbujas(cadena):
    total=0
    for n in cadena:
        if n =='burbujas':
            total=total+1
    return total

5/13
for letter in "Codecademy":
    print letter
# Líneas en blanco para que el resultado quede bonito
print
print
word = "¡Programar es divertido!"
for letter in word:
    # Solo muestra con print la letra i
    if letter == "i":
        print letter

6/13
precios = {
    "banana": 4,
    "manzana": 2,
    "naranja": 1.5,
    "pera": 3
}

7/13
inventario = {
    "banana": 6,
    "manzana": 0,
    "naranja": 32,
    "pera": 15
}

8/13
for key in precios:
    print key
    print "precio: %s"  % precios[key]
    print "inventario: %s" % inventario[key]

9/13
for key in precios:
    print key
    print "precio: %s" % precios[key]
    print "inventario: %s" % inventario[key]
    total=total+precios[key]*inventario[key]
print total

10/13
compras = ["banana","naranja","manzana"]

11/13
compras = ["banana", "naranja", "manzana"]
inventario = {
    "banana": 6,
    "manzana": 0,
    "naranja": 32,
    "pera": 15
}  
precios = {
   'naranaja': 1.5, 'pera': 3, 'banana': 4, 'manzana': 2
}
# Escribe tu código aquí
def calcular_factura(comida):
    total=0
    for i in precios:
        total=total+i

12/13
def calcular_factura(comida):
    total=0
    for item in comida:
        if inventario[item]>0:
            total=total+precios[item]
            inventario[item]=inventario[item]-1

13/13
No se hace nada ;)