游戲規(guī)則
系統(tǒng)自動產(chǎn)生一個1到100之間的隨機整數(shù)床蜘,,允許用戶通過輸入多次猜測油航,并每次都進(jìn)行大小提醒崭庸,直至猜中為止
偽代碼
設(shè)置一個隨機數(shù)
輸入猜數(shù)
? ? ? ? 如果猜大了,輸出大了
? ? ? ? 如果猜小了,輸出小了
? ? ? ? 如果猜數(shù)相等怕享,輸出成功执赡,并退出
偽代碼
設(shè)置一個隨機數(shù)
循環(huán)(不固定次數(shù))
? ? 輸入猜數(shù)
? ? ? ? 如果猜數(shù)大了,輸出大了
? ? ? ? 如果猜數(shù)小了函筋,輸出小了
? ? ? ? 如果猜數(shù)相等沙合,輸出成功,并退出
難點
系統(tǒng)自動產(chǎn)生一個1到100之間的隨機整數(shù)跌帐,允許用戶通過輸入多次猜測首懈,并每次都進(jìn)行大小提醒,直至猜中為止含末。
random模塊
import random
print(random.randint(1, 6))????????#1到6的隨機整數(shù)
---------------------------------------------------------------------------------------------------
#導(dǎo)入random隨機模塊
import random
#調(diào)用random模塊中的randint()函數(shù)產(chǎn)生一個1到100的隨機整數(shù)猜拾,并將產(chǎn)生的整數(shù)賦值給randNum變量
randNum = random.randint(1, 100)
#while循環(huán)的條件一直為真,進(jìn)入while循環(huán)
while True:
#通過input()函數(shù)接收終端輸入的數(shù)據(jù)佣盒,并轉(zhuǎn)換為整數(shù)挎袜,賦值給變量num
? ? num =int(input())
#if條件判斷,如果用戶輸入的值即變量num中的值小于系統(tǒng)隨機產(chǎn)生的值
? ? if num < randNum:
#輸出小了
? ? ? ? print("小了")
#條件判斷肥惭,如果用戶輸入的數(shù)據(jù)大于系統(tǒng)隨機產(chǎn)生的數(shù)值
? ? elif num > randNum:
#輸出大了
? ? ? ? print("大了")
else:
#輸出猜中
? ? ? ? print("猜中")
#結(jié)束循環(huán)語句
? ? ? ? break
大家試一試盯仪,如何能更快的猜中呢?
隨便猜
從1到100挨個猜
折半猜(50蜜葱,25......)
--------------------------------------------------------------------------------------------
#調(diào)整代碼全景,可以不可以
#語句次序很重要
#導(dǎo)入random模塊
import random
#調(diào)用random模塊的randint函數(shù),傳遞兩個參數(shù)牵囤,隨機產(chǎn)生1個1到100的整數(shù)
randNum = random.randint(1, 100)
#通過input()函數(shù)接收用戶輸入的數(shù)據(jù)爸黄,通過int()函數(shù)轉(zhuǎn)換為整數(shù),并賦值給num變量
num =int(input())
#while 循環(huán)揭鳞,條件一直為真炕贵,進(jìn)入循環(huán)
while True:
#if條件判斷,如果用戶輸入的數(shù)值小于隨機產(chǎn)生的數(shù)值
? ? if num < randNum:
#打印輸出小了
? ? ? ? print("小了")
#否則如果用戶輸入的數(shù)值大于隨機產(chǎn)生的數(shù)值
? ? elif num > randNum:
#打印輸出大了
? ? ? ? print("大了")
#否則
? ? else:
#打印輸出猜中
? ? ? ? print("猜中")
#結(jié)束while循壞
? ? ? ? break
? ? #接收終端用戶輸入的數(shù)據(jù)野崇,轉(zhuǎn)換為整數(shù)称开,并賦值給變量num
? ? num =int(input())
-------------------------------------------------------------------------------------------------------------
#一種新的思路
#通過import導(dǎo)入random模塊
import random
#通過調(diào)用random模塊的randint()函數(shù),傳入兩個整型參數(shù)1和100乓梨,隨機產(chǎn)生1到100的一個整數(shù)鳖轰,并賦值給變量randNum
randNum = random.randint(1, 100)
#將終端用戶輸入的數(shù)據(jù)轉(zhuǎn)換為整數(shù),賦值給num變量
num =int(input())
#while循環(huán)扶镀,當(dāng)用戶輸入的值與系統(tǒng)隨機產(chǎn)生的值不相等蕴侣,滿足循環(huán)條件,進(jìn)入while循環(huán)
while num != randNum:
#if條件判斷臭觉,如果用戶輸入的值小于系統(tǒng)隨機產(chǎn)生的值
? ? if num < randNum:
#輸出并打印小了
? ? ? ? print("小了")
#否則
? ? else:
#輸出并打印大了
? ? ? ? print("大了")
#繼續(xù)接收終端用戶輸入數(shù)據(jù)轉(zhuǎn)換為整數(shù)睛蛛,并賦值給變量num
? ? num =int(input())
#如果不進(jìn)入while循環(huán)鹦马,說明用戶輸入的值和系統(tǒng)隨機產(chǎn)生的值是相等的,打印輸出猜中
print("猜中")
-------------------------------------------------------------------------------------------------------------------------
#通過import導(dǎo)入random模塊
import random
#調(diào)用random模塊的randint()函數(shù)忆肾,傳參荸频,隨機生成1到100的一個整數(shù),并賦值給變量randNum
randNum = random.randint(1, 100)
#z終端接收用戶輸入的數(shù)值客冈,轉(zhuǎn)換為整數(shù)旭从,賦值給變量num
num =int(input())
#while循環(huán),當(dāng)用戶輸入的數(shù)值與系統(tǒng)隨機產(chǎn)生的數(shù)值不想等時场仲,滿足while循環(huán)條件和悦,進(jìn)入while循壞
while num != randNum:
#if條件判斷,當(dāng)用戶輸入的數(shù)值小于系統(tǒng)產(chǎn)生的數(shù)值渠缕,執(zhí)行if下面的語句塊
? ? if num < randNum:
#打印輸出小了
? ? ? ? print("小了")
#否則鸽素,用戶輸入的數(shù)值大于系統(tǒng)產(chǎn)生的數(shù)值,執(zhí)行else下面的語句塊
? ? else:
#打印輸出大了
? ? ? ? print("大了")
#當(dāng)用戶輸入的數(shù)值與系統(tǒng)隨機產(chǎn)生的數(shù)值不相等亦鳞,終端繼續(xù)接收用戶輸入數(shù)值馍忽,并轉(zhuǎn)換為整數(shù),賦值給變量num
? ? num =int(input())
#否則燕差,當(dāng)用戶輸入的數(shù)值與系統(tǒng)隨機產(chǎn)生的數(shù)值相等時
else:
#打印輸出猜中
? ? print("猜中")
----------------------------------------------------------------------------------------------
考慮出錯的可能性
有哪幾種錯誤遭笋?
輸入abcd
什么都不輸入直接回車
--------------------------------------------------------------------------------------------------
import random
randNum = random.randint(1, 100)
num =int(input())
while num != randNum:
if num >=1 and num <=100:
if num < randNum:
print("小了")
elif num > randNum:
print("大了")
num =int(input())
else:
print("猜中")