Hola, hace mucho tiempo no escribo por aquí, espero que todos estén bien ;D
He venido con una pregunta.
Cómo evito que en un input exista un espacio ingresado por el usuario?
Intenté realizar esto pero sin duda alguna no funciona...
#-*- coding: utf -8 -*-
def Sueldo():
MSB=int(input("ingrese su sueldo bruto:"))
if (MSB>0): #MSB Debe ser positivo
if MSB == " ": #No debe tener un espacio la variable y aqui es donde marca error
print ("ESPACIO EN BLANCO")
else:
print ("Todo OK") #Seria la continuación del programa...
else:
print ("Error, numero negativo") #Aqui si es negativo...
Sueldo()
Agradecería saber por qué no funciona y alguna solución
MSB=int(input("ingrese su sueldo bruto:"))
con esto capturas la entrada, si estás en python 2 esto será de tipo int, luego conviertes a tipo int
if MSB == " ":
luego revisas si lo capturado (que ahora es tipo int) es un espacio... dará error
si quieres conseguir un espacio en un texto
entrada = raw_input("algo:")
if ' ' in entrada:
print "hay espacio"
else:
entrada = int(entrada)
if entrada <= 0:
print "error, 0 o menos"
hay muchas formas, depende de que tanto quieras programar y de tu imaginación, ahora como veo que es un sueldo y debe ser solo números se me ocurre como fácil:
#-*- coding: utf -8 -*-
def Sueldo():
MSB=input("ingrese su sueldo bruto:")
if MSB.isnumeric() == False:
print ("No ha ingresado solo números")
else:
print ("Todo OK")
MSB=int(MSB)
Sueldo()
Cita de: engel lex en 4 Julio 2017, 06:19 AM
MSB=int(input("ingrese su sueldo bruto:"))
con esto capturas la entrada, si estás en python 2 esto será de tipo int, luego conviertes a tipo int
if MSB == " ":
luego revisas si lo capturado (que ahora es tipo int) es un espacio... dará error
si quieres conseguir un espacio en un texto
entrada = raw_input("algo:")
if ' ' in entrada:
print "hay espacio"
else:
entrada = int(entrada)
if entrada <= 0:
print "error, 0 o menos"
PERFECTO!!!! ME HA FUNCIONADO.
Sin embargo ahora si yo no introduzco nada, se forma un error, intente usar un or y poner '' sin un espacio, pero ahora cuando introduzco algún número no me funciona... Cómo podría hacerlo también para controlar un espacio y un algo vacio