最后三行的功能有点不理解,谁能给注释一下
i = 0while i <= 100:
if i % 2 != 0:
print(i, end=' ')
i += 1
else:
i += 1 Boibot 发表于 2022-10-17 11:45
第5行i += 1在while缩进不在if缩进,请解释一下
第一个是改动前的流程图
第二个是改动后的流程图 本帖最后由 jcpython2 于 2022-10-17 10:53 编辑
i = 0
while i <= 100: #当i小于等于100结束循环
if i % 2 != 0: #如果 i 余 2不等于0 i就+1
print(i, end=' ') #输出i,end= ' '就是输出i后再输出个空格
i += 1
else: #否则i就+1这里否则没有写条件,那就是跟上面那个条件一起的话你这个代码无论i是啥都+1
i += 1
但凡i余2不定于0都打印出i的话,那就是说,i不是偶数就打印出i,你这个整体循环就是打印基数 感觉写的有点繁琐,可以这样写:
i = 0
while i <= 100:
if i % 2 != 0:
print(i, end=' ')
i += 1 tommyyu 发表于 2022-10-17 10:58
感觉写的有点繁琐,可以这样写:
第5行i += 1在while缩进不在if缩进,请解释一下 Boibot 发表于 2022-10-17 11:45
第5行i += 1在while缩进不在if缩进,请解释一下
因为在这里面,无论是if还是else都有i+=1这条语句,所以可以直接放在if的外面 最后三行确实很多余,if时执行,else 也执行,不就是无条件执行吗?所以,i += 1 和 if 无关,应该从 if ... else 语句块移出,安排到 if 语句块之下,与 if 缩进相同的位置。 jackz007 发表于 2022-10-17 12:19
最后三行确实很多余,if时执行,else 也执行,不就是无条件执行吗?所以,i += 1 和 if 无关, ...
这个解释也还行
页:
[1]