Python猜數字小遊戲(random)

Trendy HSU
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 ("恭喜答對! ")

--

--