1 # -*- coding:utf-8 -*-
2 # 作者:IT小學生蔡坨坨
3 # 時間:2020/12/9 23:02
4
5 # 猜數字游戲:
6 # 代碼中生成一個隨機整數.
7 # 然后用戶輸入數字后,
8 # 程序提示用戶的輸入是高了還是低了,
9 # 直到用戶猜中這個數字, 游戲結束.
10 # 提示, random模塊的randint函數能夠幫助我們生成隨機整數。
11
12 from random import randint 13
14 correct_num = randint(1, 20) # 隨機生成一個大於等於1,小於等於20的整數
15 is_quit = 'n' # 設置變量is_quit,用於判斷是否退出游戲
16 print('請輸入一個1-20的整數(輸入q/Q/666可直接退出游戲):') 17 while is_quit != 'y': 18 try: 19 guess_num = input() # 用於獲取用戶輸入的值
20
21 if guess_num.upper() == 'Q': # upper(),用戶若輸入q,則自動轉換成Q
22 guess_num = 666 # 設置一個隨機字符串,作為退出循環的條件
23 guess_num = int(guess_num) # 若用戶輸入的值為整數,則轉換為int類型
24
25 if guess_num == correct_num: 26 print('恭喜你,猜對了,你真棒呀呀呀!') 27 is_quit = input('您要退出游戲嗎? y/n :') 28 while is_quit != 'y' and is_quit != 'n': 29 is_quit = input('只能輸入 y/n ,請重新輸入:') 30 if is_quit == 'n': 31 correct_num = randint(1, 20) 32 print('請輸入一個1-20的整數(輸入q/Q/666可直接退出游戲):') 33 elif 1 <= guess_num < correct_num: 34 print('猜小了,哈哈哈,請重新輸入:') 35 elif correct_num < guess_num <= 20: 36 print('猜大了,哈哈哈,請重新輸入:') 37 elif guess_num == 666: 38 is_quit = 'y' # 用於退出循環,結束游戲
39 else: 40 # 若輸入整數不在1-20范圍內,則提示用戶重新輸入
41 print('您輸入的整數不在1-20范圍內,請重新輸入:') 42 except ValueError: # 若輸入非整數類型,捕獲異常
43 print('您輸入的不是一個整數,請重新輸入:') 44
45 print('游戲結束!')