elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Fallo con If en python -> Solucionado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Fallo con If en python -> Solucionado  (Leído 5,353 veces)
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Fallo con If en python -> Solucionado
« 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");
    }
}


« Última modificación: 30 Junio 2008, 21:03 pm por Shrick » En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Fallo con If en python
« Respuesta #1 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


« Última modificación: 30 Junio 2008, 17:59 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Re: Fallo con If en python
« Respuesta #2 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:

En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
carlitos.dll

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: Fallo con If en python
« Respuesta #3 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]);
}


En línea

Lauta


Desconectado Desconectado

Mensajes: 371



Ver Perfil
Re: Fallo con If en python
« Respuesta #4 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."
En línea

TODOS LOS MANUALES DE PROGRAMACION!!!

Quieres ganar dinero? Clickea en alguno de los enlaces y empieza ya!!!
Daddybux
Bux.to
Adverbux
Dailyclick
Shrick

Desconectado Desconectado

Mensajes: 259


Yo no se nada, sino ¿porque pregunto?


Ver Perfil
Re: Fallo con If en python
« Respuesta #5 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
En línea

Ubuntu User
Pascal (2008/2009)
C/C++ (2009/¿?)
8080 Assembler (2009/2010)
MIPS I Assembler (2010/¿?)

Todo lo que yo haga o diga esta bajo:



No pertenece ni a mi ni a nadie :P .
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado][Python y TkInter] Problme con entries múltiples
Scripting
kerith 0 3,341 Último mensaje 12 Enero 2011, 15:41 pm
por kerith
[SOLUCIONADO][DUDA]índices en Python
Scripting
RyogiShiki 3 2,943 Último mensaje 12 Enero 2011, 22:51 pm
por xassiz~
[python] Sock5 Help Me! [solucionado]
Scripting
afdlkglfgfdgfhgf 0 2,178 Último mensaje 24 Enero 2011, 05:45 am
por afdlkglfgfdgfhgf
fallo red wifi [solucionado]
Redes
Franus 2 2,491 Último mensaje 10 Octubre 2011, 20:43 pm
por Sk9ITk5Z
[PYTHON] Fallo continuo con raw_input
Scripting
Linton 4 4,812 Último mensaje 16 Febrero 2013, 07:59 am
por Linton
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines