《python语言程序设计》第5章 课程内的笔记 中for循环转换成while

python 里for循环转换成while
这次是第3次尝试成功的记录和心得

请将以下for循环变成while

 sum = 0
 for i in range(1001):
     sum += i
     print(sum)
     print(i)

自学python之后我明白了for循环是迭代循环,换句话说其range里的数字是迭代的次数。

.而到了while循环里数字往往代表的是结果。数字结果和迭代次数这二者之间是有一定差异的。
不能太咬文嚼字

我设计的改造while循环结果

sum = 0
i = 0
while sum < 1000:
    sum += 1
    i += sum
    print(i)

一个初学者的分享

首先我打开我机器里的pycharm和vscode利用双屏的优势,先把原题for循环写到vscode的里。然后在pycharm里进行改造。

1、我个人认为vscode里能记住上次结果的设计不错。pycharm这是运行一次清空一次,让我每次回溯结果很费劲。

所以我装了两个软件还有vscode至今没法进行pandas操作,

2、设计的步骤

  • 我首先得到正常for循环下的结构 i = 1000 sum =500500
  • 作为初学者请一定要耐心的参考,哪怕是一行一行的寻找

3、第一个问题

for循环里谁是计数,谁是结果输出(当然这个题里两个结果我都要的)不过我认为是i是这里的计数环节,sum这是结果环节。也许对于科班同学这是显而易见的。那么在while循环里呢??

我仍然让i担任计数的工作,但多少的i是正好的呢。我选择了1001,结果i变成了1002,好我改一下1000还是不行,结果i变成了1001,最后我改到了i<=999,天哪奇迹出现了。但是我也看清楚了一个问题。i应该是“<”而不是“<=”。

4、如何叠加

  1. 4.1 i的设定
    这里i是循环的计数器,初始i=0,在循环体内i += 1,
  2. 4.2 sum的设定
    sum作为最终结果和累积sum +=i这个和for循环里的一致。
    *我在考虑和设计了很久,才发现这道题的转换里不一定都要换

5、自我总结

这道题里for循环和while的区别,就是一个更方便迭代循环。一个更趋向于结果循环。但我也有很多迷惑的地方。总体上我是成功了。然后我翻了一下我之前的几次解答,看来都一致。那么我接下来还需要再试试.

你可能感兴趣的:(python,开发语言)