鱼C论坛

 找回密码
 立即注册
查看: 1232|回复: 14

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

[复制链接]
发表于 2020-6-13 03:40:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求问!!!      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 is  over")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-13 05:19:55 From FishC Mobile | 显示全部楼层
counts = counts - 1等价于counts -= 1
counts -= counts 是个什么鬼??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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 is  over")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 08:37:22 | 显示全部楼层
如果 counts 是一个整数的话,那么 counts-=counts 之后 counts 一定等于 0 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-6-13 08:59:47 | 显示全部楼层
wp231957 发表于 2020-6-13 05:19
counts = counts - 1等价于counts -= 1
counts -= counts 是个什么鬼??

┗|`O′|┛ 嗷~~我跪了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-13 09:00:21 | 显示全部楼层
xiaosi4081 发表于 2020-6-13 07:10
count -= count 就是count= count-count,这肯定不对
你要:
count -= 1

感谢BB
!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

太详细了!!(● ̄(&#65396;) ̄●)感谢小天使!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 09:16:25 | 显示全部楼层
sissivic 发表于 2020-6-13 09:02
太详细了!!(● ̄(&#65396;) ̄●)感谢小天使!!

那就给个最佳呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 12:19:22 | 显示全部楼层

设个最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 12:20:15 | 显示全部楼层

我先来的哟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 12:33:28 | 显示全部楼层

是看楼主安排  而不是先后
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 21:39:36 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-13 12:33
是看楼主安排  而不是先后

来了之后定睛一看,
counts -= counts 怎么看怎么不对
不应该是 counts -= 1 嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 21:49:26 | 显示全部楼层
投给 @Twilight6  他,他是大佬,有问题直接@他
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 21:55:46 | 显示全部楼层
Stubborn 发表于 2020-6-13 21:49
投给 @Twilight6  他,他是大佬,有问题直接@他

.......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 17:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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