sissivic 发表于 2020-6-13 03:40:55

求问 counts = counts - 1 改成 counts -= counts 为啥运行结果就不对了

求问!!!      counts = counts - 1 改成       counts-= counts为啥运行结果就不对了 , too big /small 就直接over了!! 求大神解释

""" new game by me """
import random
counts = 3
answer = random.randint(1,100)




while counts > 0:
    temp = input("which number you will choose:")
    guess = int(temp)

    if guess == answer:
      print("bingo")
      print("no reward hhh")
      break
    else:
      if guess < answer:
            print("too small")
      else:
            print("too big")

      counts = counts - 1


print("game isover")

wp231957 发表于 2020-6-13 05:19:55

counts = counts - 1等价于counts -= 1
counts -= counts 是个什么鬼??

xiaosi4081 发表于 2020-6-13 07:10:35

本帖最后由 xiaosi4081 于 2020-6-13 07:13 编辑

count -= count 就是count= count-count,这肯定不对
你要:
count -= 1
才对
import random
counts = 3
answer = random.randint(1,100)




while counts > 0:
    temp = input("which number you will choose:")
    guess = int(temp)

    if guess == answer:
      print("bingo")
      print("no reward hhh")
      break
    else:
      if guess < answer:
            print("too small")
      else:
            print("too big")

      counts -= 1


print("game isover")

Twilight6 发表于 2020-6-13 07:23:24

本帖最后由 Twilight6 于 2020-6-13 09:16 编辑



一个等号是Python 的赋值操作,Python在赋值时候要先计算右边的结果 然后计算出来后才赋值给左边,所以:
counts = counts - 1
也就是先算 counts - 1 的结果,然后重新赋值给左边的变量counts ,才会覆盖原有的 counts 的值

而你的:
counts-= counts
可以分解成:
counts = counts - counts
先计算右边的,很容易看出来只要进行一次计算 这个 counts 变量的值就变成了 0,然后while 循环的条件又是 counts > 0

所以只进行了一次就推出了循环,结果当然不正确

永恒的蓝色梦想 发表于 2020-6-13 08:37:22

如果 counts 是一个整数的话,那么 counts-=counts 之后 counts 一定等于 0 。

sissivic 发表于 2020-6-13 08:59:47

wp231957 发表于 2020-6-13 05:19
counts = counts - 1等价于counts -= 1
counts -= counts 是个什么鬼??

┗|`O′|┛ 嗷~~我跪了

sissivic 发表于 2020-6-13 09:00:21

xiaosi4081 发表于 2020-6-13 07:10
count -= count 就是count= count-count,这肯定不对
你要:
count -= 1


感谢BB
!!!

sissivic 发表于 2020-6-13 09:02:00

Twilight6 发表于 2020-6-13 07:23
一个等号是Python 的赋值操作,Python在赋值时候要先计算右边的结果 然后计算出来后才赋值给左边,所以 ...

太详细了!!(● ̄(エ) ̄●)感谢小天使!!

Twilight6 发表于 2020-6-13 09:16:25

sissivic 发表于 2020-6-13 09:02
太详细了!!(● ̄(エ) ̄●)感谢小天使!!

那就给个最佳呗{:10_297:}

xiaosi4081 发表于 2020-6-13 12:19:22

sissivic 发表于 2020-6-13 09:00
感谢BB
!!!

设个最佳{:10_254:}

xiaosi4081 发表于 2020-6-13 12:20:15

Twilight6 发表于 2020-6-13 09:16
那就给个最佳呗

我先来的哟{:10_256:}

Twilight6 发表于 2020-6-13 12:33:28

xiaosi4081 发表于 2020-6-13 12:20
我先来的哟

{:10_250:} 是看楼主安排而不是先后

_2_ 发表于 2020-6-13 21:39:36

Twilight6 发表于 2020-6-13 12:33
是看楼主安排而不是先后

来了之后定睛一看,
counts -= counts 怎么看怎么不对
不应该是 counts -= 1 嘛{:10_269:}

Stubborn 发表于 2020-6-13 21:49:26

投给 @Twilight6他,他是大佬,有问题直接@他{:10_332:}

Twilight6 发表于 2020-6-13 21:55:46

Stubborn 发表于 2020-6-13 21:49
投给 @Twilight6他,他是大佬,有问题直接@他

{:10_266:} .......
页: [1]
查看完整版本: 求问 counts = counts - 1 改成 counts -= counts 为啥运行结果就不对了