关于python中的循环

时间:2016-12-08 23:21:42

标签: python for-loop

为什么执行下面的代码后只打印9?为什么代码不打印012345789作为结果:

digits = '0123456789'
result = 0

for digit in digits:
    result = digit

print(result)

4 个答案:

答案 0 :(得分:0)

print语句的范围错误。您的代码只会打印结果的最终值。改为:

digits = '0123456789' 
result = 0
for digit in digits: 
    result = digit
    print(result)

答案 1 :(得分:0)

试试这个:

result = [] 
for digit in digits: 
result.append(digit)

print(''.join(result))

如果您尝试在一行中打印所有内容,例如'0123456789',则可以在同一行上打印。

或者,您可以正确缩进并将end=''放在print语句的末尾,将它们放在一起,如下所示:

for digit in digits:
result = digit
print(result + end = '')

答案 2 :(得分:0)

“这实际上是一个多项选择问题,询问代码执行后会打印什么。问题的答案是9.我只是想知道为什么。”

循环遍历字符串digits中的每个字符,并且对于该字符串中的每个字符,将值赋给result。它不是累积的,所以在循环结束时result中唯一的值是最后一个,或9。

这就是9被打印的原因。

答案 3 :(得分:0)

数字中的每个数字在for循环中被一个一个地调用,最后一个数字是9,它将被打印出来。