Python 运行长度编码项目isn';t输出
我做错了什么?你的台词:Python 运行长度编码项目isn';t输出,python,string,output,Python,String,Output,我做错了什么?你的台词: print(expand("d3o5z2y1")) #should output: dddooooozzy 不会更改位置的值。计算位置+2,然后扔掉该值,应将结果分配给位置,因此: position + 2 您从不更新位置 position+2只执行计算,而不将计算值存储在任何位置。您可能想要position=position+2 此外,您还可以使用位置逐个关闭 position + 2 def expand(nums): finalword = ''
print(expand("d3o5z2y1")) #should output: dddooooozzy
不会更改位置的值。计算位置+2
,然后扔掉该值,应将结果分配给位置,因此:
position + 2
您从不更新位置
position+2
只执行计算,而不将计算值存储在任何位置。您可能想要position=position+2
此外,您还可以使用位置逐个关闭
position + 2
def expand(nums):
finalword = ''
position = 0
wordlength = len(nums)
keypoint = ''
while position < wordlength:
keypoint = nums[position] * int(nums[position + 1])
finalword = finalword + keypoint
keypoint = 0
position = position + 2 # or more compact: position += 2
return finalword
def expand(nums):
finalword = ''
wordlength = len(nums)
for position in range(0, len(nums), 2):
keypoint = nums[position] * int(nums[position + 1])
finalword += keypoint
return finalword
def expand(nums):
inums = iter(nums)
return ''.join(c * int(n) for c, n in zip(inums, inums))
print(expand("d3o5z2y1"))
'dddooooozzy'
>>> s = "d3o5z2y1"
>>> list(zip(*[iter(s)]*2))
>>> [('d', '3'), ('o', '5'), ('z', '2'), ('y', '1')]
>>>
>>> ''.join(char*int(count) for char, count in zip(*[iter(s)]*2))
>>> 'dddooooozzy'