Python猜數字小遊戲(random)
4 min readAug 10, 2021
首先要import random
模組,之後用random.randint(1,10)
讓程式取1–10任意數字。
使用for geuss_num in range(1,4)
迴圈製造出三次猜題的機會。
使用input()
要特別注意返回的值為字串形式,需透過int()
轉換為數值。
import randomselnumber = random.randint(1,10)print('從1到10選一個數字!')for geuss_num in range(1,4): print('猜猜看!') guess = int(input()) if guess < selnumber: print('太低了!') elif guess > selnumber: print('太高了!') else: print('猜對了!') break
也可以對程式碼做些小修改加入剩餘次數提醒
import randomselnumber = random.randint(1,10)lefttime=3print(‘從1到10選一個數字!’) for geuss_num in range(1,4): print(‘猜猜看!你剩%d次’%(lefttime)) guess = int(input()) if guess < selnumber: print(‘太低了!’) lefttime-=1 elif guess > selnumber: print(‘太高了!’) lefttime-=1 else: print(‘猜對了!’) break
也可以使用while來寫猜數字小遊戲
import randomdef remind(guess_num,answer): #定義提示 if guess_num > answer: return 1 elif guess_num < answer: return -1 else: return 0selnumber = random.randint(1,100) #使用randint產生數字lefttime = 0 #計算猜題次數while lefttime<10: left = 10-lefttime #提醒還剩幾次 guess = int(input("請猜數字(1~100),還剩%d次:"%(left))) check = remind(guess,selnumber) if check == 1: #用if判斷結果 print ('數字太大') elif check == -1: print ('數字太小') else: break #猜對直接跳出while迴圈 lefttime += 1if lefttime==10: #玩了10次遊戲結束 print ('遊戲結束,你沒猜到。')else: print ('恭喜答對! ')
這裡要注意玩家可能輸入非數字的參數 可用str.isdigit
來多一層判斷
import randomdef remind(guess_num,answer): #定義提示 if guess_num > answer: return 1 elif guess_num < answer: return -1 else: return 0selnumber = random.randint(1,100) #使用randint產生數字lefttime = 0 #計算猜題次數while lefttime<10: left = 10-lefttime #提醒還剩幾次 guess = input("請猜數字(1~100),還剩%d次:"%(left)) if str.isdigit(guess): #增加數字判斷 guess=int(guess) check = remind(guess,selnumber) if check == 1: #用if判斷結果 print ("數字太大") elif check == -1: print ("數字太小") else: break #猜對直接跳出while迴圈 lefttime += 1 else: print('別亂輸入好嗎!') lefttime += 1if lefttime==10: #玩了10次遊戲結束 print ("遊戲結束,你沒猜到。")else: print ("恭喜答對! ")