Python - Problema con consulta get() en diccionarios

 
Vista:

Problema con consulta get() en diccionarios

Publicado por Julian (1 intervención) el 15/11/2015 19:32:01
Hola a soy novato en python y estoy aprendiendo diccionarios, la cuestiones la siguiente, tengo el siguiente código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import sys
class diccionary:
 
	def __init__(self):
		self.choices  = {
			"1": self.saludo,
			"2": self.despedida,
			"3": self.exit,
			}
 
	def findKey(self):
		while True:
			choice = input("ingrese la llave")
			action = self.choices.get(choice)
			if action:
				action()
 
 
	def saludo(self):
		print("Hola mundo")
 
	def despedida(self):
		print("Adios")
 
	def exit(self):
		print("Gracias por usar el software")
		sys.exit(0)


entonces cuando ingreso un valor para la llave en el metodo findkey, action me retorna un NONE, se supone que input convierte el valor en una cadena, pero ingreso por ejemplo 1 y no llama a la función saludo, para que funcione debo ingresar el dato en este formato "1" que claramente es un string pero solo así lo entiende. Alguien me puede decir por favor que esta pasando muchas gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Problema con consulta get() en diccionarios

Publicado por deo (7 intervenciones) el 16/11/2015 18:26:29
Según veo tu mismo estas declarando la llave como un str con al usar " ", "1", que por otra parte parece lo logico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar