qi0qi456 发表于 2020-6-11 17:41:22

萌新求助

萌新求助,大佬们不要笑话

number = number -1   这一句是什么意思啊

老八秘制 发表于 2020-6-11 17:43:46

number自减1,比如原来number原来是5,执行完这个之后就变成了4

老八秘制 发表于 2020-6-11 17:44:27

也可以简写为
number -= 1
同理,number += 1就是number自加1

Twilight6 发表于 2020-6-11 17:50:39

Python 的 =号是赋值操作,赋值是先计算 = 号右边的结果,然后将结果赋值给左边的变量

所以你这:
number = number - 1

就是先计算: number - 1

然后将计算出来的结果重新赋值给 number ,而且重新赋值会导致原本的值被覆盖了,就相当于在自身上 -1

qi0qi456 发表于 2020-6-11 17:51:10

老八秘制 发表于 2020-6-11 17:44
也可以简写为

同理,number += 1就是number自加1

那为什么输入5之后,i的输出会循环到5呢,不应该循环到4就停了吗

qiuyouzhi 发表于 2020-6-11 17:52:11

qi0qi456 发表于 2020-6-11 17:51
那为什么输入5之后,i的输出会循环到5呢,不应该循环到4就停了吗

while number的意思是while number != 0哦

Twilight6 发表于 2020-6-11 17:53:39

本帖最后由 Twilight6 于 2020-6-11 17:58 编辑

qi0qi456 发表于 2020-6-11 17:51
那为什么输入5之后,i的输出会循环到5呢,不应该循环到4就停了吗

那是因为 number = 0 时候才会退出循环 ,数字只有为 0 时候条件才为 False 否则都为 True 无论正负

假设你输入的是 5而 i 的初始值是 1 你已进入循环就 +1 而且

i 每次 +1而 number 每次 -1而循环第四次时候 number = 1 而 i = 5 此时 number 再次 -1 等于 0

导致while 判断条件不成立 退出循环 所以会加到了 5

qi0qi456 发表于 2020-6-11 17:57:07

Twilight6 发表于 2020-6-11 17:53
那是因为 number = 0 时候才会退出循环 ,数字只有为 0 时候条件才为 False 否则都为 True 无论正负

...

懂了非常感谢{:5_110:}

Twilight6 发表于 2020-6-11 17:58:19

qi0qi456 发表于 2020-6-11 17:57
懂了非常感谢

没事   {:10_297:}

qi0qi456 发表于 2020-6-11 18:03:01

老八秘制 发表于 2020-6-11 17:43
number自减1,比如原来number原来是5,执行完这个之后就变成了4

谢谢大佬

qi0qi456 发表于 2020-6-11 18:09:48

qiuyouzhi 发表于 2020-6-11 17:52
while number的意思是while number != 0哦

谢谢
页: [1]
查看完整版本: 萌新求助