Python 猜數字遊戲

2021-10-02 23:10:25 字數 3792 閱讀 1660

猜我心中的數字,比如 2020 (if  else語句)

temp = input("不妨猜一下我心中所想的數字:")

guess = int(temp)

if guess == 2020:

print("你是我心裡的蛔蟲")

print("你好厲害呀,和我想到一起了!")

else:

print("猜錯啦,我心中的數字是2020!")

print("遊戲結束,不玩啦!祝您身體健康^_^")

不妨猜一下我心中所想的數字:9

猜錯啦,我心中的數字是2020!

遊戲結束,不玩啦!祝您身體健康^_^

如果不成功,請注意:1.除中文漢字外,其它是否英文格式下輸入  2. 縮排是否正確 3.函式名是否錯誤(查詢目前函式名採用dir(__builtins__))

改進1.當猜出某資料時,給出大小判斷,比如猜88,比2020小,提示「猜小啦」(巢狀語句)

temp = input("不妨猜一下我心中所想的數字:")

guess = int(temp)

if guess == 2020:

print("你是我心裡的蛔蟲")

print("你好厲害呀,和我想到一起了!")

else:

if guess < 2020:

print("猜小啦,加油!")

else:

print("猜大了,加油!")

print("遊戲結束,不玩啦!祝您身體健康^_^")

不妨猜一下我心中所想的數字:88

猜小啦,加油!

遊戲結束,不玩啦!祝您身體健康^_^

改進2.給多次猜測機會(迴圈語句)

最多猜測3次

counts = 3

while counts > 0:

temp = input("不妨猜一下我心中所想的數字:")

guess = int(temp)

if guess == 2020:

print("你是我心裡的蛔蟲")

print("你好厲害呀,和我想到一起了!")

else:

if guess < 2020:

print("猜小啦,加油!")

else:

print("猜大了,加油!")

counts = counts - 1

print("遊戲結束,不玩啦!祝您身體健康^_^")

不妨猜一下我心中所想的數字:99

猜小啦,加油!

不妨猜一下我心中所想的數字:9999

猜大了,加油!

不妨猜一下我心中所想的數字:888

猜小啦,加油!

遊戲結束,不玩啦!祝您身體健康^_^

操作時同樣需要注意英文輸入,函式是否正確,尤其注意縮排,如果counts = counts -1 與print對齊了,則只有 guess>2020猜三次才會停止。

改進3. 上述**如果一次猜測正確,則會一直執行,不會停止。要求猜對即停止猜測,猜錯最多三次。

不妨猜一下我心中所想的數字:2020

你是我心裡的蛔蟲

你好厲害呀,和我想到一起了!

不妨猜一下我心中所想的數字:2020

你是我心裡的蛔蟲

你好厲害呀,和我想到一起了!

不妨猜一下我心中所想的數字:2020

你是我心裡的蛔蟲

你好厲害呀,和我想到一起了!

不妨猜一下我心中所想的數字:2020

你是我心裡的蛔蟲

你好厲害呀,和我想到一起了!

counts = 3

while counts > 0:

temp = input("不妨猜一下我心中所想的數字:")

guess = int(temp)

if guess == 2020:

print("你是我心裡的蛔蟲")

print("你好厲害呀,和我想到一起了!")

counts = 0

else:

if guess < 2020:

print("猜小啦,加油!")

else:

print("猜大了,加油!")

counts = counts - 1

print("遊戲結束,不玩啦!祝您身體健康^_^")

不妨猜一下我心中所想的數字:2020

你是我心裡的蛔蟲

你好厲害呀,和我想到一起了!

遊戲結束,不玩啦!祝您身體健康^_^

還可以在 counts =0 處,用 break ,同樣可以得到該結果。

改進4. 防止串通,答案為隨機數的情況,猜數字(引入生成偽隨機數)

import random

counts = 3

answer = random.randint(1000,3000) #tab快捷補齊函式名,隨機生成1000~3000的隨機數

while counts > 0:

temp = input("不妨猜一下我心中所想的數字:")

guess = int(temp)

if guess == answer:

print("你是我心裡的蛔蟲")

print("你好厲害呀,和我想到一起了!")

continue

else:

if guess < answer:

print("猜小啦,加油!")

else:

print("猜大了,加油!")

counts = counts - 1

print("遊戲結束,不玩啦!祝您身體健康^_^")

注意要先導入random模組, 採用 import random (如果不清楚可輸入 random?或random??獲得幫助)

不妨猜一下我心中所想的數字:2345

猜大了,加油!

不妨猜一下我心中所想的數字:1343

猜大了,加油!

不妨猜一下我心中所想的數字:1000

猜小啦,加油!

遊戲結束,不玩啦!祝您身體健康^_^

%reset 表示清除前面所有記憶體(當操作較多,符號容易混淆時可採用)

補充知識:設定種子,重複隨機數

%config interactiveshell.ast_node_interactivity = 'all' #不用print可輸出多行結果,不設定時預設為』last』

import random

x=random.getstate() #設施種子

random.randint(10,20)

random.randint(10,20)

random.randint(10,20) #設定生成三個10~20的隨機數

random.setstate(x) #採用初始設定的種子,重複隨機數

random.randint(10,20)

random.randint(10,20)

random.randint(10,20) #得到和剛才一樣的三個隨機數

執行結果為:

17

1016

1710

16

python 猜數字遊戲

本文,我們通過乙個猜數字遊戲,鞏固一下python中迴圈的使用。使用python x,y 如下 from random import randint x randint 0,100 在閉區間 0,100 內隨機產生乙個整數 print x d x go yes while go yes 當條件不成立...

python猜數字遊戲

引入隨機數包 import random 1.生成乙個隨機答案數 2.輸入要猜的數字 3.對比猜的數字和正確答案 3.1猜大了 3.2猜小了 3.3猜對了 3.3.1繼續玩 3.3.2退出 number random.randint 0 100 宣告變數用來表示使用者猜測的次數 count 0 a ...

猜數字遊戲 python

使用for迴圈隨機生成乙個0 100之間的數字,然後使用者輸入乙個整數,判斷是否正確,若正確,則返回猜對了,若偏大則返回太大了,偏小則返回太小了,程式可執行五次 from random import randint x randint 0,100 for count in range 0,5 pri...