程序写出0到20的所有整数的名字,并按字母顺序排列:
numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty']
number_dict = {number: index for index, number in enumerate(numbers)}
# Создаём список чисел, отсортированных по алфавиту их названий
sorted_numbers = [number_dict[key] for key in sorted(number_dict.keys())]
# Выводим числа в одну строку, разделённые пробелом
print(' '.join(map(str, sorted_numbers)))
程序输出:8 18 11 15 5 4 14 9 19 1 7 17 6 16 10 13 3 12 20 2 0。
如何重写这个程序以避免手写数字名称?毕竟,写 20 个数字(更准确地说,21 个)并不难,但如果有 100 个或 1000 个呢?
你可以这样试试
结论:
我们可以改一下代码,让它全部变成一个接受数字序列的函数(我就不写处理了,只是举个例子):