鱼C论坛

 找回密码
 立即注册
查看: 2460|回复: 8

[已解决]python 004的課,三次就結束遊戲用and邏輯操作符,有人會做嗎?

[复制链接]
发表于 2018-9-19 13:31:43 | 显示全部楼层 |阅读模式

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

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

x
請問python 004的課裡,改進遊戲的第二條有三次機會,三次就結束遊戲用and邏輯操作符,有人會做嗎?
最佳答案
2018-9-22 12:23:26

代码简洁,小菜鸟学习了
不过我发现有个小问题:如果3次机会中某次猜对了,那么会打印2个"游戏结束",如下:
-----------------welcome to you game---------------
不妨猜一下小甲魚現在心裡想的是哪個數字:7
嘿,小了!小了!!
還有機會加油!!9
嘿,小了!小了!!
還有機會加油!!10
遊戲結束
哇草,你是小甲鱼心里的蛔蟲嗎?
哼,猜中了也沒有獎勵
遊戲結束
結束?現在才是真正的開始,快點開始!!

所以,删掉上面的2个print("游戏结束"),只写一个放到print("結束?現在才是真正的開始,快點開始!!")之前,是不是更好点?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-19 13:41:12 From FishC Mobile | 显示全部楼层
while (guess == secret and times > 0):
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-19 17:13:32 | 显示全部楼层
本帖最后由 pyhero 于 2018-9-19 17:14 编辑
  1. import random

  2. # define guess zone by GM
  3. number_min = 1
  4. number_max = 9

  5. # generate secret
  6. secret_pool = [x for x in range(number_min, number_max + 1)]
  7. secret = random.choice(secret_pool)

  8. # get guess chances by player
  9. chances = int(input('Guess number game, how many chances do you want: '))
  10. chance_max = number_max - number_min + 1
  11. while (chances < 1) or (chances > chance_max):
  12.     chances = int(input('chose from 1-{}: '.format(chance_max)))

  13. # get guess number by player
  14. guess = int(input('Guess the number({}-{}, {} chances): '.format(number_min, number_max, chances)))
  15. chances -= 1
  16. while (guess < number_min) or (guess > number_max):
  17.     guess = int(input('chose from {}-{}: '.format(number_min, number_max)))
  18.     chances -= 1

  19. # do guess
  20. while (chances > 0) and (guess != secret):
  21.     if guess < secret:
  22.         guess = int(input('too small, guess again: '))
  23.     elif guess > secret:
  24.         guess = int(input('too big, guess again: '))
  25.     chances -= 1
  26. else:
  27.     if guess == secret:
  28.         print('NB')
  29.     elif chances <= 0:
  30.         print('Have no chance, Game Over!')
  31.     else:
  32.         print('Bug')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-20 10:45:43 | 显示全部楼层
是這樣嗎?謝謝

  1. # homework004
  2. import random
  3. answer = random.randint(1,10)
  4. count = 1

  5. print('-----------------welcome to you game---------------')
  6. temp = input("不妨猜一下小甲魚現在心裡想的是哪個數字:")
  7. guess = int(temp)

  8. while guess != answer and count < 3:
  9.     if guess > answer:
  10.         print("哥,大了大了~~")
  11.     else:
  12.         print("嘿,小了!小了!!")
  13.     temp = input("還有機會加油!!")
  14.     guess = int(temp)
  15.     count += 1
  16. print("遊戲結束")

  17. if guess == answer:
  18.     print("哇草,你是小甲鱼心里的蛔蟲嗎?")
  19.     print("哼,猜中了也沒有獎勵")
  20.     print("遊戲結束")

  21. print("結束?現在才是真正的開始,快點開始!!")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-22 12:23:26 | 显示全部楼层    本楼为最佳答案   

代码简洁,小菜鸟学习了
不过我发现有个小问题:如果3次机会中某次猜对了,那么会打印2个"游戏结束",如下:
-----------------welcome to you game---------------
不妨猜一下小甲魚現在心裡想的是哪個數字:7
嘿,小了!小了!!
還有機會加油!!9
嘿,小了!小了!!
還有機會加油!!10
遊戲結束
哇草,你是小甲鱼心里的蛔蟲嗎?
哼,猜中了也沒有獎勵
遊戲結束
結束?現在才是真正的開始,快點開始!!

所以,删掉上面的2个print("游戏结束"),只写一个放到print("結束?現在才是真正的開始,快點開始!!")之前,是不是更好点?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-23 19:42:45 | 显示全部楼层
echo99 发表于 2018-9-22 12:23
代码简洁,小菜鸟学习了
不过我发现有个小问题:如果3次机会中某次猜对了,那么会打印2个"游戏结束 ...

謝謝你的見意,已經試了,顯示結果真的比較好,謝謝.

但我還沒改進完,我是想每次輸入完都會提示次數

以後有時間可以一起交流,我現在還卡住在工課
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-23 19:43:35 | 显示全部楼层
claws0n 发表于 2018-9-19 13:41
while (guess == secret and times > 0):

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

使用道具 举报

 楼主| 发表于 2018-9-23 19:47:11 | 显示全部楼层

謝謝你的回覆,但真的不好意思,本人太菜了,還是不太明白你的代碼,但真的很感謝你過來回答我的問題,謝謝
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-6 15:21:39 | 显示全部楼层
更新版本

  1. # 改進後homework004
  2. import random
  3. answer = random.randint(1,10)
  4. count = 2

  5. print('-----------------welcome to you game---------------')
  6. temp = input("不妨猜一下小甲魚現在心裡想的是哪個數字:")
  7. guess = int(temp)

  8. while guess != answer and count < 3:
  9.     if guess > answer:
  10.         print('哥,大了大了~~剩下 %s 次机会' %count)
  11.     else:
  12.         print('嘿,小了!小了!!剩下 %s 次机会' %count)

  13.     temp = input("還有機會加油!!")
  14.     guess = int(temp)
  15.     count -= 1

  16.     if count ==0:
  17.         break


  18. if guess == answer:
  19.     print("哇草,你是小甲鱼心里的蛔蟲嗎?")
  20.     print("哼,猜中了也沒有獎勵")

  21. print("真可惜結束了.結束????現在才是真正的開始,快點開始!!")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 15:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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