Autor
|
Tema: Fallo con If en python -> Solucionado (Leído 5,695 veces)
|
Shrick
Desconectado
Mensajes: 259
Yo no se nada, sino ¿porque pregunto?
|
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? 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... 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 .
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
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 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
Mensajes: 259
Yo no se nada, sino ¿porque pregunto?
|
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 .
|
|
|
carlitos.dll
Desconectado
Mensajes: 266
|
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
Mensajes: 371
|
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: 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
|
|
|
|
Shrick
Desconectado
Mensajes: 259
Yo no se nada, sino ¿porque pregunto?
|
Cierto Lauta tienes razón ya me funciona , 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 .
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Solucionado][Python y TkInter] Problme con entries múltiples
Scripting
|
kerith
|
0
|
3,553
|
12 Enero 2011, 15:41 pm
por kerith
|
|
|
[SOLUCIONADO][DUDA]índices en Python
Scripting
|
RyogiShiki
|
3
|
3,237
|
12 Enero 2011, 22:51 pm
por xassiz~
|
|
|
[python] Sock5 Help Me! [solucionado]
Python
|
afdlkglfgfdgfhgf
|
0
|
2,370
|
24 Enero 2011, 05:45 am
por afdlkglfgfdgfhgf
|
|
|
fallo red wifi [solucionado]
Redes
|
Franus
|
2
|
2,743
|
10 Octubre 2011, 20:43 pm
por Sk9ITk5Z
|
|
|
[PYTHON] Fallo continuo con raw_input
Python
|
Linton
|
4
|
5,187
|
16 Febrero 2013, 07:59 am
por Linton
|
|