python 004的課,三次就結束遊戲用and邏輯操作符,有人會做嗎?
請問python 004的課裡,改進遊戲的第二條有三次機會,三次就結束遊戲用and邏輯操作符,有人會做嗎? while (guess == secret and times > 0):本帖最后由 pyhero 于 2018-9-19 17:14 编辑
import random
# define guess zone by GM
number_min = 1
number_max = 9
# generate secret
secret_pool =
secret = random.choice(secret_pool)
# get guess chances by player
chances = int(input('Guess number game, how many chances do you want: '))
chance_max = number_max - number_min + 1
while (chances < 1) or (chances > chance_max):
chances = int(input('chose from 1-{}: '.format(chance_max)))
# get guess number by player
guess = int(input('Guess the number({}-{}, {} chances): '.format(number_min, number_max, chances)))
chances -= 1
while (guess < number_min) or (guess > number_max):
guess = int(input('chose from {}-{}: '.format(number_min, number_max)))
chances -= 1
# do guess
while (chances > 0) and (guess != secret):
if guess < secret:
guess = int(input('too small, guess again: '))
elif guess > secret:
guess = int(input('too big, guess again: '))
chances -= 1
else:
if guess == secret:
print('NB')
elif chances <= 0:
print('Have no chance, Game Over!')
else:
print('Bug')
是這樣嗎?謝謝
# homework004
import random
answer = random.randint(1,10)
count = 1
print('-----------------welcome to you game---------------')
temp = input("不妨猜一下小甲魚現在心裡想的是哪個數字:")
guess = int(temp)
while guess != answer and count < 3:
if guess > answer:
print("哥,大了大了~~")
else:
print("嘿,小了!小了!!")
temp = input("還有機會加油!!")
guess = int(temp)
count += 1
print("遊戲結束")
if guess == answer:
print("哇草,你是小甲鱼心里的蛔蟲嗎?")
print("哼,猜中了也沒有獎勵")
print("遊戲結束")
print("結束?現在才是真正的開始,快點開始!!") wd951357 发表于 2018-9-20 10:45
是這樣嗎?謝謝
代码简洁,小菜鸟学习了{:5_91:}
不过我发现有个小问题:如果3次机会中某次猜对了,那么会打印2个"游戏结束",如下:
-----------------welcome to you game---------------
不妨猜一下小甲魚現在心裡想的是哪個數字:7
嘿,小了!小了!!
還有機會加油!!9
嘿,小了!小了!!
還有機會加油!!10
遊戲結束
哇草,你是小甲鱼心里的蛔蟲嗎?
哼,猜中了也沒有獎勵
遊戲結束
結束?現在才是真正的開始,快點開始!!
所以,删掉上面的2个print("游戏结束"),只写一个放到print("結束?現在才是真正的開始,快點開始!!")之前,是不是更好点? echo99 发表于 2018-9-22 12:23
代码简洁,小菜鸟学习了
不过我发现有个小问题:如果3次机会中某次猜对了,那么会打印2个"游戏结束 ...
謝謝你的見意,已經試了,顯示結果真的比較好,謝謝.
但我還沒改進完,我是想每次輸入完都會提示次數
以後有時間可以一起交流,我現在還卡住在工課{:10_266:}
claws0n 发表于 2018-9-19 13:41
while (guess == secret and times > 0):
謝謝回覆 pyhero 发表于 2018-9-19 17:13
謝謝你的回覆,但真的不好意思,本人太菜了,還是不太明白你的代碼,但真的很感謝你過來回答我的問題,謝謝
{:10_275:} 更新版本
# 改進後homework004
import random
answer = random.randint(1,10)
count = 2
print('-----------------welcome to you game---------------')
temp = input("不妨猜一下小甲魚現在心裡想的是哪個數字:")
guess = int(temp)
while guess != answer and count < 3:
if guess > answer:
print('哥,大了大了~~剩下 %s 次机会' %count)
else:
print('嘿,小了!小了!!剩下 %s 次机会' %count)
temp = input("還有機會加油!!")
guess = int(temp)
count -= 1
if count ==0:
break
if guess == answer:
print("哇草,你是小甲鱼心里的蛔蟲嗎?")
print("哼,猜中了也沒有獎勵")
print("真可惜結束了.結束????現在才是真正的開始,快點開始!!")
页:
[1]