Python 28 猜數(shù)字游戲

游戲規(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("猜中")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市徒探,隨后出現(xiàn)的幾起案子瓦呼,更是在濱河造成了極大的恐慌,老刑警劉巖测暗,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件央串,死亡現(xiàn)場離奇詭異,居然都是意外死亡碗啄,警方通過查閱死者的電腦和手機蹋辅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挫掏,“玉大人,你說我怎么就攤上這事秩命∥竟玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵弃锐,是天一觀的道長袄友。 經(jīng)常有香客問我,道長霹菊,這世上最難降的妖魔是什么剧蚣? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任支竹,我火速辦了婚禮,結(jié)果婚禮上鸠按,老公的妹妹穿的比我還像新娘礼搁。我一直安慰自己,他們只是感情好目尖,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布馒吴。 她就那樣靜靜地躺著,像睡著了一般瑟曲。 火紅的嫁衣襯著肌膚如雪饮戳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天洞拨,我揣著相機與錄音扯罐,去河邊找鬼。 笑死烦衣,一個胖子當(dāng)著我的面吹牛歹河,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播琉挖,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼启泣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了示辈?” 一聲冷哼從身側(cè)響起寥茫,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矾麻,沒想到半個月后纱耻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡险耀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年弄喘,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甩牺。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蘑志,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贬派,到底是詐尸還是另有隱情急但,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布搞乏,位于F島的核電站波桩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏请敦。R本人自食惡果不足惜镐躲,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一储玫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萤皂,春花似錦撒穷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至弛车,卻和暖如春齐媒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纷跛。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工喻括, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贫奠。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓唬血,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唤崭。 傳聞我的和親對象是個殘疾皇子拷恨,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容