鱼C论坛

 找回密码
 立即注册
查看: 5006|回复: 26

[已解决]一个很简单的作业题004课的。

[复制链接]
发表于 2016-11-29 07:56:27 | 显示全部楼层 |阅读模式
0鱼币
temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number - 1

这块没有看懂,i=1了,然后循环number,打印i,i=i+1,,那么打印出来的i不是就是=2了么?    后面这个number = number - 1又怎么理解啊?
最佳答案
2016-11-29 07:56:28
这个程序的目的是:打印出1到所输入整数之间的所有整数。
循环语句是
    print(i)
    i = i + 1
    number = number - 1
也就是每次循环都是:先打印i,然后将i的值加1,然后将number的值减1.
循环结束的条件是number的值变成0.
比如:
你输入4,
第一步i赋初值1
开始循环,number为4,所以执行循环语句:
打印出i,也就是1
i变成2
number变成3
再次循环,number为3,所以执行循环语句:
打印出i,也就是2
i变成3
number变成2
再次循环,。。。。。。
。。。
。。。
直到number变成0,停止循环。
程序结束,打印出1到输入值的所有整数。
(望采纳)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 07:56:28 | 显示全部楼层    本楼为最佳答案   
这个程序的目的是:打印出1到所输入整数之间的所有整数。
循环语句是
    print(i)
    i = i + 1
    number = number - 1
也就是每次循环都是:先打印i,然后将i的值加1,然后将number的值减1.
循环结束的条件是number的值变成0.
比如:
你输入4,
第一步i赋初值1
开始循环,number为4,所以执行循环语句:
打印出i,也就是1
i变成2
number变成3
再次循环,number为3,所以执行循环语句:
打印出i,也就是2
i变成3
number变成2
再次循环,。。。。。。
。。。
。。。
直到number变成0,停止循环。
程序结束,打印出1到输入值的所有整数。
(望采纳)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 08:31:09 | 显示全部楼层
限制循环次数!
如果没有就是无限循环了
number = number -1    当number=0 时 循环结束不再执行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 08:41:07 | 显示全部楼层
number = 0时,为false,while循环结束;number = number - 1就是控制while循环结束的条件,这里number输入多少,就会从1打印到多少(number值)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 08:45:56 | 显示全部楼层
限制循环次数,当number =0时,跳出循环。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 10:03:23 | 显示全部楼层
限制循环次数,当number=0时结束循环
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 10:54:57 | 显示全部楼层
作为while循环的退出条件,每次循环体执行完了回到while语句的时候都判断一下你的num是否为真(非0),如果是则继续执行循环,如果为否(为0)则跳出循环,程序结束
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 19:59:44 | 显示全部楼层
后面这个number说白了就是限制while循环的。也就是说number控制while停止循环的。当while后面的条件为“0”的时候停止循环,也就是当nmber-1一直减到零以后,while就停止。还有疑问吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 20:54:05 | 显示全部楼层
number是用规定循环次数的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 22:25:11 | 显示全部楼层
楼上的几位回答比较专业
用我们新手的语言来说就是
>>> i=1     #把1赋值给i  计算  i+1 出来的结果才是2
>>> i+1
2

temp = input('请输入一个整数:')        #这里得到的是一个字符串
number = int(temp)                        #将字符串转成整数 然后赋值给 number
i = 1                                              #这里 i=1  是说机会有一次                     
while number:                                 #这里应该是是循环  i   而不是number
    print(i)                                         #这里你直接打印的是  i   而不是打印 i=i+1
    i = i + 1                                      #这里应该是指机会 加一次  
    number = number - 1                  #这里应该是指 number 这个整数 减1  


新手乱入  有错轻喷
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 14:52:55 | 显示全部楼层
本帖最后由 人zai旅途 于 2016-11-30 15:00 编辑

temp = input('请输入一个整数:')        #提示:请输入一个整数,然后你输入的整数会赋值为temp
number = int(temp)                        #将输入的字符串转成整数 然后赋值给 number
i = 1                                              #这里 i=1 ,初始化i的值                      
while number:    #while 循环条件,只要循环条件为真,循环就会继续;number非0时,条件为真,number为0,条件为假,停止循环
    print(i)                                 #打印 i 的数值
    i = i + 1           # 在原来i的基础上+1,也可以缩写为 1 +=1;这是一行代码,上面代码运行完了以后,运行这个,对i 重新赋值
    number = number - 1         #同上行代码,这里在原来number基础上-1;

举例:
你输入5
number = 5
i=1
while 5:    # 条件为真
print(i)     #  这时候i=1,打印1;
i = i+1     #  i被重新赋值为2
number = number - 1     # number被重新赋值为4

while  4:   # 条件为真
print(i)     #  这时候i=2,打印2;
i = i+1     #  i被重新赋值为3
number = number - 1     # number被重新赋值为3

while  3:   # 条件为真
print(i)     #  这时候i=3,打印3;
i = i+1     #  i被重新赋值为4
number = number - 1     # number被重新赋值为2


while  2:   # 条件为真
print(i)     #  这时候i=4,打印4;
i = i+1     #  i被重新赋值为5
number = number - 1     # number被重新赋值为1


while 1 :   # 条件为真
print(i)     #  这时候i=5,打印5;
i = i+1     #  i被重新赋值为6
number = number - 1     # number被重新赋值为0

while 0 :   # 条件为假,循环结束,下面代码不再执行

所以,输出结果为:
>>>
RESTART: C:/Users/Administrator/Desktop/111.py
请输入一个整数:5
1
2
3
4
5
>>>
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 18:55:51 | 显示全部楼层
当number=0 时,false, 循环结束不再执行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 19:08:40 | 显示全部楼层
第一个理解对了,i每次循环增加1,但是他是先打印,再加1
第二个理解偏了,你先要知道在Python里,0,[],{},(),None等空置在判断中都为False,其余,数字、字符串等都为True,所以numbei变量每次循环减1,直到为0,此时为False,退出循环。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 19:37:45 | 显示全部楼层
你看看代码前2行是这样的:
temp = input('请输入一个整数:')
number = int(temp)

number是让人输入的数字 比如输入是10
然后到while循环的那里程序就会判断number是不是0.结果我们输入的是10,所以就会运行while里面的程序。然后程序就会打印出i,即1.然后运行i=i+1。(这时候就等于2了)。然后再运行number=number-1.(这时候number为9)然后系统再判断是否进入循环的条件满足不满足。这时候number为9,还是不等于0.所以继续进入循环。然后打印i,这时候打印出来的就是2了。后面的我就不重复说了。

同是新人,刚看到第五课
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 19:53:27 | 显示全部楼层
刚才说漏了补充一下。number = number - 1 是为了让系统能够跳出循环所设立的,是必须的,不然程序就会一直循环的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-30 21:18:28 | 显示全部楼层
temp = input('请输入一个整数:')      “请输入一个整数:”,temp获取你输入的数字,此时为字符串
number = int(temp)                        int将temp转变成整数
i = 1                                              i初始化为1
while number:                                 number为while的循环条件,循环number次
    print(i)                                        打印i
    i = i + 1                                      i加1
    number = number - 1                   打印i之后,循环次数减1

本代码实现了从1到number的逐一打印
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-1 12:03:19 | 显示全部楼层
i=1循环number,打印i,此时i还是1,然后再i+1 这时等于2.是先打印,再加一
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-2 12:41:07 | 显示全部楼层
number=number-1是用来终止循环的
当number为零时,while后面的条件不成立(while 0  系统默认是一个死循环,因为在计算机中数字 1 代表True, 0代表False,所以while 0:时,计算机会输出 False,循环终止
希望我的回答对你有所帮助
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-4 15:21:14 | 显示全部楼层
每次是打印i的值,至于那个number,你可以理解成打印i的次数,比如你想打印两次i的值,就将number设置为2即可
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-4 23:07:49 | 显示全部楼层
哇!这么多回答,我也来说一句吧,i = i +1 这个是在print之后,number 不等于0的时候是True,等于0了就是False了,循环只有在True的时候才会继续。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-26 04:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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