前提・実現したいこと
Python3で初めて作った数当てゲームの評価、添削をお願いします。
発生している問題
気をつけた方がいい箇所が自力では見つけきれないので、出来るだけ頑張って書きました、添削をできればお願いします。
該当のソースコード
python
1import random 2# import os 3 4VAL_MIN = 1 5VAL_MAX = 100 6 7 8def ask_number(): 9 while True: 10 n = 0 11 s = input("回答:") 12 if s.isdigit(): 13 n = int(s) 14 if VAL_MIN <= n <= VAL_MAX: 15 return n 16 17 print("{}以上{}以下の整数を入力してください\n".format(VAL_MIN, VAL_MAX)) 18 19 20def ask_yes_no(): 21 print("もう一度遊びますか?y/n") 22 while True: 23 ans = input() 24 if ans in ('y', 'n'): 25 return ans 26 27 print("※y(yes)かn(no)を入力してください!\n") 28 29 30def play(): 31 print("{}~{}のランダムな整数を生成しました、正しい数字を当ててください。\n".format(VAL_MIN, VAL_MAX)) 32 num = random.randint(VAL_MIN, VAL_MAX) 33 try_count = 0 34 35 while True: 36 n = ask_number() 37 try_count += 1 38 39 if n == num: 40 print("おめでとうございます、正解です!") 41 print("チャレンジ回数{}、次もがんばってください。".format(try_count)) 42 return 43 44 if n > num: 45 print("答えより大きいです、もう一度当ててみましょう!\n") 46 else: 47 print("答えより小さいです、もう一度当ててみましょう!\n") 48 49 50def clear_screen(): 51 print("\033[2J") # for ANSI terminal 52 # # os.system('cls') # for windows 53 54 55def game(): 56 while True: 57 play() 58 if ask_yes_no() == 'n': 59 print("遊んでいただいてありがとうございました、またのご利用お待ちしております!") 60 return 61 clear_screen() 62 63 64game()
試したこと
while文の使い方の工夫(continueやbreak)、全体のループ
補足情報(FW/ツールのバージョンなど)
バージョン:Python3.7.7
エディタ:PyCharm CE
回答3件
あなたの回答
tips
プレビュー