设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 13622|回复: 3
打印 上一主题 下一主题

求助求助求助,对于for循环赋值的不解

[复制链接]

1

主题

0

好友

11

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-12-24 23:29:22 |只看该作者 |倒序浏览
#代码1
from __future__ import print_function
r = int(raw_input("输入列数:"))
i = k = 1 #i用于控制外场循环(图形行数),k用于控制*的个数
for i in range(0,r):
    for k in range(0,r - i):
        print("*  ",end='')
        k += 1
    i += 1
    print("\n")

#代码2
from __future__ import print_function
r = int(raw_input("输入列数:"))
# i = k = 1 #i用于控制外场循环(图形行数),k用于控制*的个数
for i in range(0,r):
    for k in range(0,r - i):
        print("*  ",end='')
       # k += 1
    # i += 1
    print("\n")

假设 r = 4
输出结果都是倒三角,我不理解的是代码1中,为什么要给 i 和 k 初始化赋值=1,然后for循环里,也是给 k 和 i 分别赋值 +=1。  其实 代码2 也能完成相同的打印。

代码1 里 如果 初始赋值 i = 1 ,那么 外层for循环的条件从(0,4)的1开始,那不是只有3行了?

求大神解惑!!
回复

使用道具 举报

6

主题

2

好友

654

积分

实习版主

Rank: 7Rank: 7Rank: 7

沙发
发表于 2017-12-24 23:45:17 |只看该作者
这个i=k=1没什么用,在for i in range(0,r)时,i的值就被重新定义了 从0到r-1 和之前定义的i=1没关系了

删掉也可以的  对for循环完全没影响 for i in (0,4) i的值时0,1,2,3 不会从1开始的
回复

使用道具 举报

1

主题

0

好友

11

积分

新手上路

Rank: 1

板凳
发表于 2017-12-24 23:50:36 |只看该作者
TED 发表于 2017-12-24 23:45
这个i=k=1没什么用,在for i in range(0,r)时,i的值就被重新定义了 从0到r-1 和之前定义的i=1没关系了

删 ...

谢谢!!
那就是 多余的操作咯?这个代码1是我从网上看到的,突然就被这 赋值 给 迷惑了,怎么都想不清楚。
回复

使用道具 举报

6

主题

2

好友

654

积分

实习版主

Rank: 7Rank: 7Rank: 7

地板
发表于 2017-12-25 00:01:54 |只看该作者
Imcoder 发表于 2017-12-24 23:50
谢谢!!
那就是 多余的操作咯?这个代码1是我从网上看到的,突然就被这 赋值 给 迷惑了,怎么都想不清楚 ...

你的第二段代码把它注释掉 仍然不影响代码执行 就当它多余吧  我也没看出有什么用来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 13:06 , Processed in 0.023126 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部