Zhanghong528 发表于 2021-7-9 21:18:13

for循环问题请教

为什么下面A代码执行出来的结果是24

print(i)取得是

i = 3
for tz in range(0,3):
    i = i * 2
    print(i)
循环的最后一个结果吗


A代码
i = 3
for tz in range(0,3):
    i = i * 2
print(i)

Twilight6 发表于 2021-7-9 21:26:17



print(i) 函数在 for 循环内部,每次循环都会执行 print(i) 所以值每次都会打印

而 A 代码 print(i) 在 for 循环内部,只会打印最终循环的结果

两个代码的最终结果都是 3 * 2 * 2 * 2 * 2 = 24,只是 前者会持续打印,后者只会打印最终结果

你 for 循环的 tz 没有用到,是不是你代码编写过程有些问题了?

Zhanghong528 发表于 2021-7-9 21:33:22

我也感觉到tz没有用到,但是根据for循环的结构,这个字段好像不得不输入,或者你觉得输入什么会更合适,麻烦指导

Zhanghong528 发表于 2021-7-9 21:33:59

Twilight6 发表于 2021-7-9 21:26
print(i) 函数在 for 循环内部,每次循环都会执行 print(i) 所以值每次都会打印

而 A 代码 print(i) ...

我也感觉到tz没有用到,但是根据for循环的结构,这个字段好像不得不输入,或者你觉得输入什么会更合适,麻烦指导

青出于蓝 发表于 2021-7-9 21:38:30

Zhanghong528 发表于 2021-7-9 21:33
我也感觉到tz没有用到,但是根据for循环的结构,这个字段好像不得不输入,或者你觉得输入什么会更合适, ...

tz不需要用到吧,不就是代表循环三次吗.所以结果是3乘2的三次方也就是24

Twilight6 发表于 2021-7-9 21:39:28

Zhanghong528 发表于 2021-7-9 21:33
我也感觉到tz没有用到,但是根据for循环的结构,这个字段好像不得不输入,或者你觉得输入什么会更合适, ...



如果你只是单纯想循环几次,那么这样不用到被循环赋值的参数也完全没问题

如果你只是单纯想算 3 乘以 2 的 三次方,可以直接计算不用 for 循环

print(3*2**3)

Maplea 发表于 2021-7-10 00:58:29

while
页: [1]
查看完整版本: for循环问题请教