猜數字的遊戲

2021-10-11 15:26:22 字數 983 閱讀 8544

隨機生成1個0-100的數字,猜5次,給提醒大了或者小了

import random

s = random.randint(0,

100)

num=

1while num<=5:

try:

r =int(

input

("請輸入第%s個數字,總共5次機會:"

%num)

)if r > s:

print

("你猜的數大了,請再次嘗試!"

)elif r < s:

print

("你猜的數小了,請再次嘗試!"

)elif r == s:

print

("恭喜,你猜對了!遊戲結束!"

)break

num +=

1except exception as e:

print

("您的輸入有誤,請重新輸入:%s"

%e)if num >5:

print

("您失敗的次數已經超過5次,遊戲失敗!"

)

這裡有乙個坑,寫這個時,

我第一次是這麼定義的r值

r = eval(input(「請輸入第%s個數字,總共5次機會:」%num))

發現乙個小問題:eval的值,如果輸入的恰巧是變數名,r=s

當你輸入s時,也會提醒猜對了,遊戲結束…

.又複習了一下eval的特性,改為用int就沒有這個問題了.

eval()執行的是乙個表示式的值,我們定義了s的值=隨機數

eval()執行時會去除字串"",所以當我們輸入s時,reval(「s」),eval(「s」)就返回了s.的值,即rs,遊戲結束.

而int()不支援表示式,只支援數字,當輸入s時,會被報錯進入except非同步處理.重新進入迴圈.

因此,我們使用eval這個函式的時候需要特別注意.

xlionsky學習筆記.

猜數字遊戲

問題描述 猜數字遊戲 隨機出乙個兩位數,然後讓你猜,直到猜對為止。猜對後可以提示選擇是否再玩一次。include include using namespace std int main srand unsigned int time null int num rand 90 10 隨機出乙個兩位數...

猜數字遊戲

author 徐權 data 2015728 function 猜數字遊戲 實用平台 vs2012及以上 如果要移植到其他平台scanf s和puts s 應改為scanf和puts即可 include include include include define n 5 定義陣列大小,從而決定猜的...

猜數字遊戲

初次見到題目,覺得很簡單,可是仔細敲 時候卻發現根本無法處理如下情況 正確序列 1,2,3,4 猜測序列 1,1,1,1 我選擇用字串儲存正確的,然後如果對應上就把它變成字母,下一次就不會算他了,可是如果這樣子 正確 1,2,3,4 錯誤 2,3,3,4 錯誤的3算了,正確卻沒有算,這樣顯然不符合題...