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


 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  que le hace falta este codigo en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: que le hace falta este codigo en python  (Leído 1,361 veces)
YunTech

Desconectado Desconectado

Mensajes: 15


Ver Perfil
que le hace falta este codigo en python
« en: 5 Diciembre 2015, 15:52 »

Que hace falta aqui:
Código:
nota1 = (input("Digite la primera nota:"))
while type(nota1) != int:
        print("error")
        nota1 = (input("Digite la primera nota:"))
while type(nota1) == int:
        int(nota1)
        while nota1 > 0 and nota1 < 100:
                print ("la nota es", nota1)
        while nota1 <= 0 or nota1 > 100:
                print("error")
                nota1 = (input("Digite la primera nota:"))

para que cuando ingrese una letra me imprima error, y si ingreso un numero menor o igual a cero o mayor que 100 me imprima error???? :huh:


« Última modificación: 5 Diciembre 2015, 18:31 por YunTech » En línea

Darioxhcx


Desconectado Desconectado

Mensajes: 2.292


Ver Perfil
Re: que le hace falta este codigo en python
« Respuesta #1 en: 5 Diciembre 2015, 16:13 »

no diferencia variables int de las string? pregunto, no recuerdo mucho xD

quizas esto te pueda ayudar
http://www.ehowenespanol.com/revisar-tipos-variables-python-como_219393/


« Última modificación: 5 Diciembre 2015, 16:38 por Darioxhcx » En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: que le hace falta este codigo en python
« Respuesta #2 en: 5 Diciembre 2015, 16:49 »

Bueno, depende un poco de si estás trabajando en Python3 o 2. (Si no estoy mal raw_input no está en python3). Si estás trabajando en Python2 input() solo acepta números, si estás en Python3 no hay ese problema. Ahora, lo que debes tener en cuenta es que ya sea que uses raw_input en Python2 o input en Python3 siempre te va a devolver una variable de tipo string, así que no puedes hacer lo que te dice Darioxhcx.

Teniendo esto en cuenta, lo que tienes que hacer es verificar si lo que está dentro del string es un número o no y tienes varias formas de hacerlo. Puedes intentar convertir la cadena a int y capturar los errores en caso de que lo que hay en el string no sea un número, puedes usar listas blancas. Hay muchas opciones, usa la que más se acomode a lo que necesitas.

Saludos!
En línea

YunTech

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: que le hace falta este codigo en python
« Respuesta #3 en: 5 Diciembre 2015, 18:13 »

Uso python 3 asi que no hay problema con int.
Pero si cambio la cadena a int, no podre agregar el error en las condiciones.
Y si intento capturar los errores con try, seria algo asi??

Código:
nota1 = int(input("Digite la primera nota:"))
try:
           type(nota1) == str
except ValueError:
           print ("Error")
En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: que le hace falta este codigo en python
« Respuesta #4 en: 5 Diciembre 2015, 18:55 »

Hola, creo que estás algo confundido, type solo te dice el tipo de una variable. Ahora, el problema que tienes con el código que acabas de subir es que estás intentando convertir a int lo que te devuelve la función input() así que si el usuario ingresa algo que no sea un número te va a arrojar un error (este es el error que debes capturar). La otra opción es como te digo una lista blanca, algo así:

Código
  1. analizar = raw_input("Ingrese la cadena: ")
  2.  
  3. print all(map(lambda x: x in map(str, range(10)), analizar))

Te devuelve True si todas los caracteres son números y False si no lo son.

Saludos!
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.225

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: que le hace falta este codigo en python
« Respuesta #5 en: 5 Diciembre 2015, 19:02 »

fijate si esto te sirve más o menos:
Código
  1. #-*- coding: utf -8 -*-
  2. while True:
  3.    try:
  4.        nota=int(input("Ingrese la primera nota: "))
  5.        if nota  >= 0 and nota <= 100 :
  6.            print("la nota es: ",nota)
  7.            break
  8.        else:
  9.            print("Error, la nota no puede ser menor a 0 ó mayor que 100")
  10.  
  11.    except ValueError:
  12.        print ("Error! ingrese un número")
  13.  
  14.  
En línea

YunTech

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: que le hace falta este codigo en python
« Respuesta #6 en: 5 Diciembre 2015, 19:24 »

Gracias, ya me funciona correctamente.  ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines