Crossin的编程教室

标题: 第15课 12345个*为什么不能用while加上for循环 [打印本页]

作者: qijirufeng    时间: 2018-3-26 20:06
标题: 第15课 12345个*为什么不能用while加上for循环
本帖最后由 qijirufeng 于 2018-3-26 20:07 编辑

i=1

while i<=5:
    for i in range(0,i):
        print'*',
    i=i+1

出来是无限*,就是不明白
作者: crossin先生    时间: 2018-3-26 22:25
i 命名冲突了。你的 i 每次在for里都会被重新赋值,你把数字代入,自己脑中走一遍循环,或者用断点调试看一下就明白了
作者: GZGS    时间: 2018-3-27 20:32
首先,i=1, 符合while条件,进入for循环,又是 i从(0,1)中取值,此时i=0, 打印一个*;
然后i=i+1, i=1;符合while条件,进入for循环,又是 i从(0,1)中取值,此时i=0, 打印一个*;
然后,然后i=i+1, i=1;符合while条件……
死循环下去,
把for循环的i改为j试试就好了




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5