鱼C论坛

 找回密码
 立即注册
查看: 1979|回复: 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
还可以再改改:
  1. import random
  2. secret = random.randint (1,10)
  3. realcount = 4
  4. counts = 4
  5. print('--------------猜  猜  看---------------')
  6. while counts > 0:
  7.     guess=int(input("猜猜我现在想的数字:"))
  8.     if guess == secret:
  9.         print(f"哇靠,{realcount - counts + 1}次就猜对了!")
  10.         break
  11.     elif guess > secret:
  12.         print("大了!")
  13.         counts -= 1
  14.         print(f"你还有{counts}次机会,", end = '')
  15.         continue
  16.     else:
  17.         print("小了!")
  18.         counts -= 1
  19.         print(f"你还有{counts}次机会,", end = '')
  20.         continue

  21. print("Bye")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  18. print("Bye")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  21. print("Bye")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

卧槽可以!好像有我还没接触的语句我研究一下,感谢大神!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

如果有帮助,请设最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

  5. while counts != 0:
  6.     counts -= 1
  7.     guess=int(input("猜猜我现在想的数字:"))
  8.    
  9.     if guess == secret:
  10.         print(f"第{4 - counts}次就对,不愧是我兄弟!")
  11.         break
  12.     elif guess > secret:
  13.         print("大了")
  14.     else:
  15.         print("小了")

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

  18. print("Bye")
复制代码

参考上面那位大佬的回答,这个代码量更少
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

  5. while counts != 0:
  6.     guess=int(input("猜猜我现在想的数字:"))
  7.    
  8.     if guess == secret:
  9.         print("第%d次就对,不愧是我兄弟!"%(4 - counts + 1))
  10.         break
  11.     elif guess > secret:
  12.         print("大了")
  13.     else:
  14.         print("小了")
  15.     counts -= 1
  16.     continue

  17. print("Bye")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

哇,优秀!对了,你们这个回复的格式是怎么弄的呀,每行还有序号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 21:54:01 | 显示全部楼层
你仔细看看回复框上面的功能键,一个一个看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-4 15:17:45 | 显示全部楼层
夜语。星空 发表于 2020-3-3 21:54
你仔细看看回复框上面的功能键,一个一个看
  1. print('哈哈哈,尴尬了,之前都没注意')
  2. print('谢谢!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 14:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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