鱼C论坛

 找回密码
 立即注册
查看: 1415|回复: 4

[已解决]请教大神关于两个程序对比的问题

[复制链接]
发表于 2020-7-24 10:08:20 | 显示全部楼层 |阅读模式

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

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

x
最近学习了1-10猜数字游戏的程序,思考通过以下两种方式来实现:

方式一:

import random
ran = random.randint(1,10)
counts = 4
while counts > 0:
    guess = int(input("不妨猜一下我现在心里想的是哪个数字:"))               
    if guess == ran:
        print("你是我心里的蛔虫嘛?!")
        break
    else:
        if guess < ran:
            print("小啦~")
        else:
            print("大啦~")
        counts = counts - 1
else:
    print("您已猜错4次,游戏结束!^_^")

方式二:

import random
ran = random.randint(1,10)
counts = 0
while True:
    guess = int(input("不妨猜一下我现在心里想的是哪个数字:"))
    if guess == ran:
        print("你是我心里的蛔虫嘛?!")
        break
    else:
        if guess < ran:
            print("小啦~")
        else:
            print("大啦~")
        counts = counts + 1
        if counts>= 4:
            print("您已猜错4次,游戏结束!^_^")
            break
以上两种方式都能实现,请教各位大神:哪个程序更符合通常的编程思维(或习惯)?
最佳答案
2020-7-24 10:15:09
本帖最后由 Twilight6 于 2020-7-24 10:16 编辑



用第一种,因为当 counts = 0 的时候 可以当作条件判断,即 0 == False 是等价的

所以 while 循环条件可以直接写成 while counts: , 当 counts 减少到 0 的时候就会退出循环

因为循环条件为 0,而 0 可以等价于 False ,就不满足循环条件而退出;在 Python 中数字只要不为 0 那么布尔类型值就为 True

而你第二种多写了条件,程序也要多次进行判断,每循环一次,比另一个代码多判断了


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

使用道具 举报

发表于 2020-7-24 10:10:03 | 显示全部楼层
一般用第一种吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-7-24 10:15:09 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-7-24 10:16 编辑



用第一种,因为当 counts = 0 的时候 可以当作条件判断,即 0 == False 是等价的

所以 while 循环条件可以直接写成 while counts: , 当 counts 减少到 0 的时候就会退出循环

因为循环条件为 0,而 0 可以等价于 False ,就不满足循环条件而退出;在 Python 中数字只要不为 0 那么布尔类型值就为 True

而你第二种多写了条件,程序也要多次进行判断,每循环一次,比另一个代码多判断了


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

使用道具 举报

发表于 2020-7-24 10:37:10 | 显示全部楼层
都可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-24 10:42:21 | 显示全部楼层
都一样。

4+6等于10,5+5也等于10。

也没见哪个比较符合逻辑思维。

非要说,那就是5+5,因为比较好算。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 11:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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