看一本python書,猜數字遊戲是入門,然後就自己寫了下
阿新 • • 發佈:2018-11-05
水平不高,就想寫一寫,功能實現了,但不完善,如果亂輸入就會出現問題,後續再把程式碼完善下,今天沒時間了,貼上程式碼,共同學習。相容版本3和2均可以直接拿程式碼測試。
#coding:utf-8 # 這是一個猜數字遊戲 import random import sys class GuessNum(object): def __init__(self): print("歡迎來到猜數字遊戲:你可以在1到20之間選一個數字,通過我給的提示,在6次中猜到,你就贏了") self.times = 0 self.answer = random.randint(1,20) self.sucess = 2 def guess(self, num): if not self.check_times(): print("你失敗了") return False if num == self.answer: print("good 你贏了") return self.sucess elif num < self.answer: print("你輸入的數值小了") self.times += 1 return True elif num > self.answer: print("你輸入的數值大了") self.times += 1 return True def check_times(self): if self.times < 6: return True else: return False def deal_str(_str): sstr = _str.lower() if sstr == 'n': return False elif sstr == 'y': return True else: print("error") return False def play_again(): if sys.version_info.major > 2: #相容版本2和3 y_n = input("遊戲結束了, 還想玩嗎:Y/N") else: y_n = raw_input("遊戲結束了, 還想玩嗎:Y/N") #y_n = input("遊戲結束了, 還想玩嗎:Y/N") again = deal_str(y_n) if again: start() else: return False def start(): game = GuessNum() num = int(input("輸入你給的數吧:")) result = game.guess(num) while True: if result == game.sucess: play = play_again() if not play: break elif result: num = int(input("請再嘗試:")) result = game.guess(num) else: play = play_again() if not play: break if __name__ == '__main__': start()
共同學習