我无法理解代码如何获得最终结果。有人可以详细解释python如何解释和执行此操作吗?
counts = [5, 2, 5, 2, 2]
for x_count in counts:
output=""
for count in range(x_count):
output+="x"
print(output)`
结果:
xxxxx
xx
xxxxx
xx
xx
我看不懂代码。为什么要使用范围(x_count)中的计数,并且输出+ = x应该导致“ 5 + x”而不是“ xxxxx”?通常,要获取“ XXXXX”,我们应该使用print(5 *“ x”),使用+如何给我相同的输出?
范围功能在这里有什么帮助?
答案 0 :(得分:0)
我注释了代码以供您理解。
counts = [5, 2, 5, 2, 2] # Counts of X
for x_count in counts: # For every count value
output="" # Output holds bunch of X
# output is reset at every iteration
for count in range(x_count):
output+="x" # Populate output with X values for each count
# + and += concats strings
print(output) # print output
一种类似的方法:
counts = [5, 2, 5, 2, 2]
outputs = ["".join(['x'] * count) for count in counts]
for output in outputs:
print(output)
答案 1 :(得分:0)
counts = [5, 2, 5, 2, 2] # counts
for x_count in counts: # will loop over each element in count
output="" # variable to hold xs
for count in range(x_count): # will loop x_count times
output+="x" # 'x' will be appended to output variable
print(output) # output will be printed
答案 2 :(得分:0)
您的原始清单
counts = [5, 2, 5, 2, 2]
for count in counts:
这意味着要获得计数值,即先选择第一个元素,然后选择第二个元素,然后选择第三个元素 以此类推,直到最后一个元素,即。它先选择5个,然后选择2个,依此类推
original = '' # intialise the element
这将创建一个值为''
的字符串元素,
for value in range(count):
range(count)给出[0,count)
范围内的值,即从0到0的数字列表。
计数(独家)
所以for value in [0,1...count]
因此它将选择值形式列表的第一个元素,然后第二个,依此类推
对于要向x
添加original
的每个值,否,因此for
循环将运行计数
时间,然后将x
添加到original
print(orignal)
到目前为止将打印origanl的值