这是一段python代码,我试图找出如何计算值并将其存储在变量string_width中。
string_width =len(" ".join(map(str,range(num,0,-1)))+" ".join(map(str,range(2,num+1))))
任何解释都会有所帮助。
答案 0 :(得分:0)
实际输出的内容非常依赖于num
等于什么,但要了解这一特定的代码行,您必须细分各个函数。
首先,在内部有两个使用map函数用字符串创建的可迭代地图。
第一个是变量num
中的所有数字,倒数到0,非包含。因此,如果num
为4,则此地图中将包含4,3,2和1。
第二张地图从2开始,最多计为num + 1
,不包括在内。因此,如果num
为4,则地图中将为2,3和4。
接下来,两个地图都用空格连接,因此每个地图都变成一个字符串,其每个值之间都有空格。上一个示例中的第一个地图为"4 3 2 1"
,第二个地图为"2 3 4"
。 +然后将这两个字符串连接在一起,使它们成为一个字符串,这将来自我们的示例"4 3 2 12 3 4"
。
最后,len找到这个组合字符串的长度,并将该值保存到string_width
,在我们的示例中为12,因为这是有多少个字符(它计算空格)。