0
这是一段python代码,我试图找出如何计算并存储在变量string_width中的值。这行代码是什么意思
string_width =len(" ".join(map(str,range(num,0,-1)))+" ".join(map(str,range(2,num+1))))
任何解释都会有帮助。
这是一段python代码,我试图找出如何计算并存储在变量string_width中的值。这行代码是什么意思
string_width =len(" ".join(map(str,range(num,0,-1)))+" ".join(map(str,range(2,num+1))))
任何解释都会有帮助。
实际得到输出的结果很大程度上取决于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,因为那是多少个字符(它计数空格)。
尖叫的意大利面代码“请重写我!” –
尝试打印出您不理解的部分,例如'print(“”.join(map(str,range(num,0,-1))))'。还有哪个python是这个?它不能同时为2和3. –
如果将语句分解为两个连接'“”.join(..)'并打印每个连接,则可能会注意到该模式。第一个连接从'num'向下计数到0(零),第二个连接计数从2上升到num,然后调用len长度函数。 – davedwards