找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2005|回复: 4

[求助] 求解答while循环基础问题

1

主题

1

帖子

1

积分

贫民

积分
1
wj980341 发表于 2020-7-5 22:07:50 | 显示全部楼层 |阅读模式
我想打印数字1-7,其中4不打印。我用了while循环来编写,

i=1
while i<8:
    if i!=4:
        print(i)
        i=i+1

为什么最终结果只打印出1,2,3.后面,后面数字就打不出来了。

换成下面这种方式就能打出1,2,3,5,6,7

i=0
while i<7:
    i=i+1
    if i!=4:
        print(i)


不明白这两种方式有什么区别,求大神解答。


回复

使用道具 举报

0

主题

34

帖子

34

积分

贫民

积分
34
一叶落而知秋 发表于 2020-7-7 11:45:21 | 显示全部楼层
第一种情况,i的值被写在了if语句里面,使得i的值在3以后不会再增加,同时也使得while陷入了死循环
回复 支持 1 反对 0

使用道具 举报

2

主题

6

帖子

6

积分

贫民

积分
6
田田学Python 发表于 2020-7-10 18:54:30 | 显示全部楼层
楼上说的对

while循环框架:

定义一个整数变量,记录循环次数
开始循环
    循环内执行的代码
    计数处理器

i = i + 1 与 if i != 4: 的地位一样,所以缩进应该一样
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
诚然如斯 发表于 2020-7-12 14:46:08 | 显示全部楼层
楼上都答对完了。
回复 支持 反对

使用道具 举报

4

主题

77

帖子

77

积分

版主

Rank: 7Rank: 7Rank: 7

积分
77

活跃会员热心会员默默耕耘优秀版主论坛元老

北极 发表于 2020-7-13 11:18:50 | 显示全部楼层
[i for i in range(1,8) if i !=4]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表