Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Shrick en 30 Junio 2008, 12:54 pm



Título: Fallo con If en python -> Solucionado
Publicado por: Shrick en 30 Junio 2008, 12:54 pm
Estoy aprendiendo python, y ahora mismo tengo un nivel muy básico, por ello, quisiera saber que fallo tiene mi código, porque no me lo interpreta, es el ejemplo de como funcionaria una maquina expendedora, por favor díganme ¿donde he fallado?

Código:
print "1º Coca Cola\n\
2ºFanta\n\
3º Agua\n\
4º 7up\n\
Introduzca su elección (nº): "

num = input()

        if num == 1:
print "Has seleccionado Coca Cola"

if num == 2:
print "Has seleccionado Coca Cola"

if num == 3:
print "Has seleccionado Agua"

if num == 4:
print "Has seleccionado 7up"

if num <0 and num > 5:
       
print "¡Opción Incorrecta!, por favor vuelva a ejecutar el programa."

En Java conseguí hacerlo, porque tengo nociones básicas pero me lleva demasiado tiempo...

Código:
package maquina_expendedora;
import java.io.*;
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
        Integer num;
        String str;
        System.out.println("1º Coca Cola\n2º Fanta\n3º Agua\n4º 7up\nIntroduzca su elección (nº): ");
        str=in.readLine();
        num = Integer.valueOf(str).intValue();
        if (num == 1)
        System.out.println("Has seleccionado Coca Cola");
            if (num == 2)
                System.out.println("Has seleccionado Fanta");
            if (num == 3)
                System.out.println("Has seleccionado Agua");
            if (num == 4)
                System.out.println("Has seleccionado 7up");
        if ( num < 0 || num >5 )
        System.out.println("¡Opción Incorrecta, Por favor vuelva a ejecutar el programa");
    }
}


Título: Re: Fallo con If en python
Publicado por: Novlucker en 30 Junio 2008, 17:55 pm
No entiendo cual es el problema, o bueno, más o menos......

Los if del 1 al 4 están bien, el único problema que veo, es en esta línea

Citar
if num <0 and num > 5:

num, nunca puede ser menor a 0 y mayor a 5, no debería de ser and, sino or  ;)

También deberías de probar con else para esta última opción (si no es 1, 2, 3 o 4, entonces), ya que sería la manera más correcta

Saludos


Título: Re: Fallo con If en python
Publicado por: Shrick en 30 Junio 2008, 19:23 pm
Código:
print "1º Coca Cola\n\
2ºFanta\n\
3º Agua\n\
4º 7up\n\
Introduzca su elección (nº): "

num = input()

        if num == 1:
print "Has seleccionado Coca Cola"

elif num == 2:
print "Has seleccionado Coca Cola"

elif num == 3:
print "Has seleccionado Agua"

elif num == 4:
print "Has seleccionado 7up"

if num <0 or num > 5:
       
print "¡Opción Incorrecta!, por favor vuelva a ejecutar el programa."

Asi es como dices no?, pues me da esto:

(http://img185.imageshack.us/img185/6447/erro1qz5.th.png) (http://img185.imageshack.us/my.php?image=erro1qz5.png)


Título: Re: Fallo con If en python
Publicado por: carlitos.dll en 30 Junio 2008, 19:29 pm
En java podrías hacer algo así:
creas un array de String.

String[] opciones = new String[]{"Has seleccionado Coca Cola", "Has seleccionado Coca Cola", "Has seleccionado Agua", "Has seleccionado 7up" }

evaluar el error al principio:

if (num <=o || num >=4)
{
System.out.println("¡Opción Incorrecta, Por favor vuelva a ejecutar el programa");
}
else
{
System.out.println(opciones[num]);
}




Título: Re: Fallo con If en python
Publicado por: Lauta en 30 Junio 2008, 19:50 pm
Mirá la verdad que sé poco y nada de Python, pero tenés todo mal indentado, lo que me parece que es importante en python... Lo acomodé y funciona:

Código:
print "1º Coca Cola\n\
2ºFanta\n\
3º Agua\n\
4º 7up\n\
Introduzca su elección (nº): "

num = input()

if num == 1:
  print "Has seleccionado Coca Cola"
elif num == 2:
  print "Has seleccionado Coca Cola"
elif num == 3:
  print "Has seleccionado Agua"
elif num == 4:
  print "Has seleccionado 7up"
if num <0 or num > 5:
  print "¡Opción Incorrecta!, por favor vuelva a ejecutar el programa."


Título: Re: Fallo con If en python
Publicado por: Shrick en 30 Junio 2008, 21:02 pm
Cierto Lauta tienes razón ya me funciona :D , gracias.

En cuanto a ti carlitos.dll, tambien gracias, pero como he dicho solo tengo nociones básicas de JAVA, y a largo plazo no me sale rentable porque es tedioso escribir el código y se vuelve ilegible, para el lector