A more functional approach would be by using dict.get
input_nums = [int(in_str) for in_str in input_str.split())
strikes = list(map(number_map.get, input_nums.split()))
One can observe that the conversion is a little clumsy, better would be to use the abstraction of function composition:
def compose2(f, g):
return lambda x: f(g(x))
strikes = list(map(compose2(number_map.get, int), input_str.split()))
Example:
list(map(compose2(number_map.get, int), ["1", "2", "7"]))
Out[29]: [-3, -2, None]
Obviously in Python 3 you would avoid the explicit conversion to a list. A more general approach for function composition in Python can be found here.
(Remark: I came here from the Design of Computer Programs Udacity class, to write:)
def word_score(word):
"The sum of the individual letter point scores for this word."
return sum(map(POINTS.get, word))