题解 | #学英语#
学英语
https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc
dic = { "0": "zero", "1": "one", "2": "two", "3": "three", "4": "four", "5": "five", "6": "six", "7": "seven", "8": "eight", "9": "nine", "10": "ten", "11": "eleven", "12": "twelve", "13": "thriteen", "14": "fourteen", "15": "fifteen", "16": "sixteen", "17": "seventeen", "18": "eighteen", "19": "nineteen", "20": "twenty", "30": "thirty", "40": "forty", "50": "fifty", "60": "sixty", "70": "seventy", "80": "eighty", "90": "ninety", } def one(s): if s != "0": return dic[s] + " " return "" def ten(s): out = "" if s[0] != "0": if s[0] == "1": out += dic[s[0] + s[1]] + " " else: out += dic[s[0] + "0"] + " " + one(s[1]) else: out += one(s[1]) return out def hundred(s): out = "" if len(s) == 3: flag = True if s[0] != "0": out += dic[s[0]] + " " + "hundred" + " " else: flag = False if s[1] != "0" or s[2] != "0": if flag: out += "and" + " " out += ten(s[1] + s[2]) if len(s) == 2: out += ten(s[0] + s[1]) if len(s) == 1: out += one(s) return out n = input() s = "" if len(n) >= 10: s += hundred(n[:-9]) + "billion" + " " n = n[-9:] if len(n) >= 7: s += hundred(n[:-6]) + "million" + " " n = n[-6:] if len(n) >= 4: s += hundred(n[:-3]) + "thousand" + " " n = n[-3:] s += hundred(n) print(s)