重来 发表于 2020-6-26 21:11:09

用while循环实现给定a=1,当a<100则,a=a*(a+1)

a=1
while True:
    if a<100:
      a=a*(a+1)
      a+=1
      print(f'a的值{a}')
       
print(f'a的最终值:{a}')
是a=183吗?

重来 发表于 2020-6-26 21:14:58

应该是182吧?得到的值在if语句处加了1?

Twilight6 发表于 2020-6-26 21:16:40

本帖最后由 Twilight6 于 2020-6-26 21:20 编辑

重来 发表于 2020-6-26 21:14
应该是182吧?得到的值在if语句处加了1?

是的你应该改成这样,把 a+=1 移动到 print 下面

这样才打印正确 a 的数值:

而且你这个是死循环了,要加个出口
a = 1
while True:
    if a < 100:
      a = a * (a + 1)
      print(f'a的值{a}')
      a += 1
    else:
      break

print(f'a的最终值:{a-1}')    # 因为最终 多 +1 了 所以要减1

重来 发表于 2020-6-26 21:21:28

Twilight6 发表于 2020-6-26 21:16
是的你应该改成这样,把 a+=1 移动到 print 下面

这样才打印正确 a 的数值:


对哦!我先加了
页: [1]
查看完整版本: 用while循环实现给定a=1,当a<100则,a=a*(a+1)