为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大佬可以给我分析下这题答案吗?小的愚钝,看不明白sum*num和num+1这里是怎么循环的

num=1
sum=1
while num <= 10:
    sum=sum*num
    num=num+1
print(sum)

正在回答

5 回答

while num <= 10:  #此时num值为最开始设定的1,进入下面的循环,循环结束的条件是num小于等于10
    sum=sum*num   #算乘积
    num=num+1    #因为还不到10,所以需要加1,然后跳到第一行继续循环计算。等num的值到10了,就不会跳到第一行再循环了。结果就是最终输出结果。

0 回复 有任何疑惑可以回复我~

开始循环的时候先运行sum = sum * num ,所以 sum = 1 * 1 =1

然后运行 num = num +1 ,所以 num = 1 + 1 = 2

然后这个while循环中的语句执行完了 ,这时num = 2,num <= 10 依然成立

所以接着又一遍运行while循环中的语句:

sum = 1*2 =2

num = 2+1 =3

直到num变成10,跳出循环,在这个过程中就实现了1*2*3*4.........*10

最后把结果打印出来就好了

新手一个 有不对的在座的大佬请多指教

5 回复 有任何疑惑可以回复我~
num = 1
ret = 1
while num <= 10:
    print str(ret)+"*"+str(num)
    ret = ret*num
    num = num+1
print ret

输出

1*1

1*2

2*3

6*4

24*5

120*6

720*7

5040*8

40320*9

362880*10

3628800


0 回复 有任何疑惑可以回复我~

是从底往上循环?开始是num=num+1然后就是1+1=2,num就是2,然后循环sum=sum*num就是1*2=2,sum就是2.因为num是2,继续循环,就是num=2+1,num是3.然后sum=1*3.sum就是3.然后这样循环直到num循环到10后输出sum的结果.这样理解对吗?还有拿到题目我都不知道怎么定义num和sum的值啊。郁闷

0 回复 有任何疑惑可以回复我~
#1

weixin_慕仰3151331

开始先算sum=1*1,然后num=1+1,然后是sum=1*2。第三步当num=3时,是用1*2的值*3这样子循环下去。
2021-04-08 回复 有任何疑惑可以回复我~

while就是一个循环,只有不满足条件时,才会跳出循环;

while num <= 10,里面num是while循环的条件,初始num = 1,while循环内部每循环一次,num = num +1,num值就会加1,相当于num从1,2,3,...,10,11,一直去while条件(while num <= 10)中判定num的值是否还满足条件,直到num = 11时,判断不满足了,就跳出了while循环;

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪位大佬可以给我分析下这题答案吗?小的愚钝,看不明白sum*num和num+1这里是怎么循环的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信