4.2 Ejercicio 2
Del repositorio de ejercicios, mezcle las ramas exercise2/branchA y
exercise2/branchB.
Conflicto
Listing 4.3:Ejercicio 2 - conflicto1#!/usr/bin/python 2 3import sys 4 5colors = {"black": "black mirror", 6 "white": "white noise", 7 "blue": "blue sky"} 8 9def getPhrase(color): 10<<<<<<< HEAD 11 phrase = colors[color.lower()] 12======= 13 if color not in colors: 14 sys.stderr.write("Got no phrase for color %s\n" % color) 15 sys.exit(1) 16 phrase = colors[color] 17>>>>>>> exercise2/branchB 18 return phrase 19 20print(getPhrase(sys.argv[1]))
Resolution
La solución correcta debe ser algo así:
Listing 4.4:Ejercicio 2 - resolución1#!/usr/bin/python 2 3import sys 4 5colors = {"black": "black mirror", 6 "white": "white noise", 7 "blue": "blue sky"} 8 9def getPhrase(color): 10 if color.lower() not in colors: 11 sys.stderr.write("Got no phrase for color %s\n" % color) 12 sys.exit(1) 13 phrase = colors[color.lower()] 14 return phrase 15 16print(getPhrase(sys.argv[1]))
Si no colocaron la llamada a lower() en la línea 10, está bien... por el
momento. Explicaré la lógica para agregar la llamada más adelante. Pudieron
haber hecho otras cosas como guardar el color para que quede en minúsculas antes
de entrar al if de la línea 10 pero veremos las cosas que se podría/debería hacer
a medida que avanzamos en otros tópicos. Puedo asegurarles algo, esto es solo un
abrebocas de lo que es un conflicto.