鱼C论坛

 找回密码
 立即注册
查看: 1333|回复: 9

[已解决]编程小白求指导——改进代码

[复制链接]
发表于 2020-2-27 10:51:43 | 显示全部楼层 |阅读模式

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

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

x
大神们我又来求助啦!看完小甲鱼改进小游戏的课,我设计了我的改良版,要求:猜的次数不超过4次,4次之后不管猜对猜错都结束游戏,但猜对立刻结束游戏。代码如下,感觉层层套语句,有点复杂,请问这个可不可以优化的简洁清爽一点呀?

import random
secret = random.randint (1,10)
counts = 4
print('--------------猜  猜  看---------------')
guess=int(input("猜猜我现在想的数字:"))
if guess == secret:
    print("哇靠,一次就猜对了!")
else:
    while counts != 0:
        counts = counts - 1
        while guess != secret:
            guess = int(input("猜错了,兄弟:"))
            if guess==secret:
                print("牛逼,果然是我兄弟")
                print("赏你二斤地瓜烧")
                break
            if guess >secret:
                print("大了大了:")
                break
            else:
                print('小了小了:')
                break
print("Bye")
最佳答案
2020-2-27 11:02:44
还可以再改改:
import random
secret = random.randint (1,10)
realcount = 4
counts = 4
print('--------------猜  猜  看---------------')
while counts > 0:
    guess=int(input("猜猜我现在想的数字:"))
    if guess == secret:
        print(f"哇靠,{realcount - counts + 1}次就猜对了!")
        break
    elif guess > secret:
        print("大了!")
        counts -= 1
        print(f"你还有{counts}次机会,", end = '')
        continue
    else:
        print("小了!")
        counts -= 1
        print(f"你还有{counts}次机会,", end = '')
        continue

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

使用道具 举报

发表于 2020-2-27 11:00:17 | 显示全部楼层
import random
secret = random.randint (1,10)
counts = 4
print('--------------猜  猜  看---------------')
while counts > 0:
    guess=int(input("猜猜我现在想的数字:"))
    if guess == secret:
        print("哇靠,一次就猜对了!")
        break
    elif guess > secret:
        print("大了!")
        counts -= 1
        continue
    else:
        print("小了!")
        counts -= 1
        continue

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

使用道具 举报

发表于 2020-2-27 11:02:44 | 显示全部楼层    本楼为最佳答案   
还可以再改改:
import random
secret = random.randint (1,10)
realcount = 4
counts = 4
print('--------------猜  猜  看---------------')
while counts > 0:
    guess=int(input("猜猜我现在想的数字:"))
    if guess == secret:
        print(f"哇靠,{realcount - counts + 1}次就猜对了!")
        break
    elif guess > secret:
        print("大了!")
        counts -= 1
        print(f"你还有{counts}次机会,", end = '')
        continue
    else:
        print("小了!")
        counts -= 1
        print(f"你还有{counts}次机会,", end = '')
        continue

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

使用道具 举报

 楼主| 发表于 2020-2-27 11:19:31 | 显示全部楼层

卧槽可以!好像有我还没接触的语句我研究一下,感谢大神!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-27 11:20:24 | 显示全部楼层
jkjkjk9199 发表于 2020-2-27 11:19
卧槽可以!好像有我还没接触的语句我研究一下,感谢大神!

如果有帮助,请设最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-27 11:29:10 | 显示全部楼层
本帖最后由 夜语。星空 于 2020-2-27 11:41 编辑
print('--------------猜  猜  看---------------')

import random
secret = random.randint (1,10)
counts = 4

while counts != 0:
    counts -= 1
    guess=int(input("猜猜我现在想的数字:"))
    
    if guess == secret:
        print(f"第{4 - counts}次就对,不愧是我兄弟!")
        break
    elif guess > secret:
        print("大了")
    else:
        print("小了")

    print(f"你还有{counts}次机会")
    continue

print("Bye")
参考上面那位大佬的回答,这个代码量更少
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-27 11:31:28 | 显示全部楼层
同为新手,这样的话代码量好像会更少,没有显示剩余机会
print('--------------猜  猜  看---------------')

import random
secret = random.randint (1,10)
counts = 4

while counts != 0:
    guess=int(input("猜猜我现在想的数字:"))
    
    if guess == secret:
        print("第%d次就对,不愧是我兄弟!"%(4 - counts + 1))
        break
    elif guess > secret:
        print("大了")
    else:
        print("小了")
    counts -= 1
    continue

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

使用道具 举报

 楼主| 发表于 2020-2-27 17:11:18 | 显示全部楼层
夜语。星空 发表于 2020-2-27 11:29
参考上面那位大佬的回答,这个代码量更少

哇,优秀!对了,你们这个回复的格式是怎么弄的呀,每行还有序号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 21:54:01 | 显示全部楼层
你仔细看看回复框上面的功能键,一个一个看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 15:17:45 | 显示全部楼层
夜语。星空 发表于 2020-3-3 21:54
你仔细看看回复框上面的功能键,一个一个看
print('哈哈哈,尴尬了,之前都没注意')
print('谢谢!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 02:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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