# Swift's closure
# https://d...content-available-to-author-only...e.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html
digitNames = {
0: "Zero", 1: "One", 2: "Two", 3: "Three", 4: "Four",
5: "Five", 6: "Six", 7: "Seven", 8: "Eight", 9: "Nine"
}
numbers = [16, 58, 510]
def convert_number_to_string(number):
output = ''
while number > 0:
output = digitNames[number % 10] + output
number /= 10
return output
strings = map(convert_number_to_string, numbers)
for s in strings:
print(s)
IyBTd2lmdCdzIGNsb3N1cmUKIyAgIGh0dHBzOi8vZC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vbGlicmFyeS9pb3MvZG9jdW1lbnRhdGlvbi9Td2lmdC9Db25jZXB0dWFsL1N3aWZ0X1Byb2dyYW1taW5nX0xhbmd1YWdlL0Nsb3N1cmVzLmh0bWwKCgpkaWdpdE5hbWVzID0gewogICAgMDogIlplcm8iLCAxOiAiT25lIiwgMjogIlR3byIsICAgMzogIlRocmVlIiwgNDogIkZvdXIiLAogICAgNTogIkZpdmUiLCA2OiAiU2l4IiwgNzogIlNldmVuIiwgODogIkVpZ2h0IiwgOTogIk5pbmUiCn0KbnVtYmVycyA9IFsxNiwgNTgsIDUxMF0KCgpkZWYgY29udmVydF9udW1iZXJfdG9fc3RyaW5nKG51bWJlcik6CiAgICBvdXRwdXQgPSAnJwogICAgd2hpbGUgbnVtYmVyID4gMDoKICAgICAgICBvdXRwdXQgPSBkaWdpdE5hbWVzW251bWJlciAlIDEwXSArIG91dHB1dAogICAgICAgIG51bWJlciAvPSAxMAoKICAgIHJldHVybiBvdXRwdXQKCgpzdHJpbmdzID0gbWFwKGNvbnZlcnRfbnVtYmVyX3RvX3N0cmluZywgbnVtYmVycykKCgpmb3IgcyBpbiBzdHJpbmdzOgogICAgcHJpbnQocyk=