给我解释一下这个代码。这是一个以字母形式输出整数输入的程序。如果我输入35,那么输出将是35。我了解其中的大部分内容,但想知道如何从
twenty thirty forty fifty sixty seventy eighty ninety
代码是:
num = int(input("Enter the number:"))
numbers = ("zero one two three four five six seven eight nine".split())
numbers.extend("ten eleven twelve thirteen fourteen fifteen sixteen".split())
numbers.extend("seventeen eighteen nineteen".split())
numbers.extend(tens if ones == "zero" else (tens + " " + ones)
for tens in "twenty thirty forty fifty sixty seventy eighty ninety".split()
for ones in numbers[0:10])
print(numbers[num])
您在最后一行中看到的两个主要概念是list comprehension和nested loops。看一看。你知道吗
为了更好地理解正在发生的事情,我们将把这条线分成更简单的部分:
十位数
前面的
for
循环对应于列表中的以下内容:不带
print
,返回生成器。如果要查看结果:个
前面的
for
循环对应于列表中的以下内容:为循环合并
我们可以合并它们:
因为我们不太喜欢
twenty zero
,所以我们要添加一个子句:这和列表理解是一样的:
它返回一个列表(*generator),该列表将扩展到
numbers
列表。最后,您输入的数字对应于列表中单词的索引
相关问题 更多 >
编程相关推荐