temp = input("不妨猜一下小甲魚如今內心想的是哪一個數字:")app
guess = int(temp)dom
if guess == 8:函數
print("我草,你是小甲魚內心的蛔蟲嗎?!")spa
print("哼,猜中了也沒有獎勵!")視頻
else:blog
print("猜錯拉,小甲魚如今內心想的是8!")遊戲
print("遊戲結束,不玩啦^_^")input
不少魚油對改善這個遊戲提出了建議,小甲魚作了一下總結,大概有如下幾個方面須要改進:class
猜錯的時候程序應該給點提示,例如告訴用戶輸入的值是大了仍是小了。import
每運行一次程序只能猜一次,應該提供屢次機會給用戶猜想。
每次運行程序,答案能夠是隨機的。由於程序答案固定,容易致使答案外泄。
第一個改進要求:猜錯的時候程序提示用戶當前的輸入比答案大了仍是小了。
Python的條件分支語法:
IF條件:
{縮進} 條件爲真(True)執行的操做
else:
{縮進} 條件爲假(False)執行的操做
要求1:猜錯的時候程序應該給點提示,例如告訴用戶輸入的值是大了仍是小了。
if guess == 8:
print("我草,你是小甲魚內心的蛔蟲嗎?!")
print("哼,猜中了也沒有獎勵!")
else:
if guess > 8:
print("哥,大了大了~~")
else:
print("哥,小了小了~~")
print("遊戲結束,不玩啦^_^")
第二個改進要求:程序應該提供屢次機會給用戶猜想,專業點來說就是程序須要重複運行某些代碼。
請用紅筆圈出你認爲須要進行循環的代碼:
print(‘----------- 我愛魚C工做室 ----------’)
temp = (‘不妨猜一下小甲魚如今內心想的是哪一個數字:’)
guess = int(temp)
if guess == 8:
print(「哇草,你是小甲魚內心的蛔蟲嗎?」)
print(「哼,猜中了也沒有獎勵」)
else:
if guess > 8:
print(「哥,大了大了~~」)
else:
print(「嘿,小了!小了!!」)
print(「遊戲結束,不玩啦~~」)
Python的While循環語法:
While條件:
條件爲真(True)執行的操做
temp = input("不妨猜想一下小甲魚如今內心想的是哪一個數字:")
guess = int(temp)
while guess != 8 :
temp = input("猜錯了,請從新輸入:")
guess = int(temp)
if guess == 8:
print("我曹,你是小甲魚內心的蛔蟲嗎?!")
print("哼,猜中了也沒有獎勵!")
else:
if guess > 8:
print("哥,大了大了~~")
else:
print("嘿,小了,小了~~")
print("遊戲結束")
可是程序跟要求仍是有一點區別。
這裏咱們給你們的提示是:使用and邏輯操做符
Python的and邏輯操做符能夠將任意表達式鏈接在一塊兒,並獲得一個布爾類型的值。
>>> 3>2 and 1<2
True
>>> (3>2) and (1<2)
True
只有當 and 運算符左右兩邊都是True時,纔會輸入 True;左邊或右邊爲 False 那就爲False
第三個改進要求:每次運行程序產生的答案是隨機的。
咱們須要引入外援:random模塊
這個random模塊裏邊有一個函數叫作:randint(),Ta會返回一個隨機的整數。
咱們能夠利用這個函數來改造咱們的遊戲!
import random #導入一個模塊,這個模塊是個隨機模塊
secret = random.randint(1,10) #將secret替代下面的數字8,而且聲稱1-10的隨機數字
temp = input("不妨猜想一下小甲魚如今內心想的是哪一個數字:")
guess = int(temp)
while guess != secret :
temp = input("猜錯了,請從新輸入:")
guess = int(temp)
if guess == secret:
print("我曹,你是小甲魚內心的蛔蟲嗎?!")
print("哼,猜中了也沒有獎勵!")
else:
if guess > secret:
print("哥,大了大了~~")
else:
print("嘿,小了,小了~~")
print("遊戲結束")
import random #導入一個模塊,這個模塊是個隨機模塊
secret = random.randint(1,10) #將secret替代下面的數字8,而且聲稱1-10的隨機數字
times = 3
guess = 0 #這裏先給guess賦值(賦一個絕對不等於secret的值)
print("不妨猜一下小甲魚如今猜的是哪個數字:",end='')
#print()默認是打印字符,end=''告訴print()函數打印完內容換行
temp = input()
guess = int(temp)
while (guess != secret) and (times >0 ) :
temp = input("猜錯了,請從新輸入:")
guess = int(temp)
times = times -1 #用戶沒輸入一次,機會就少一次
if guess == secret:
print("我曹,你是小甲魚內心的蛔蟲嗎?!")
print("哼,猜中了也沒有獎勵!")
else:
if guess > secret:
print("哥,大了大了~~")
else:
print("嘿,小了,小了~~")
print("遊戲結束")
課後練習
請寫出與 10 < cost < 50 等價的表達式
cost>10 and cost<50
Python3 中,一行能夠書寫多個語句嗎?
能夠,多個語句用分號隔開
Python3 中,一個語句能夠分紅多行書寫嗎?
能夠,不過須要加 \
完善第二個改進要求(爲用戶提供三次機會嘗試,機會用完或者用戶猜中答案均退出循環)並改進視頻中小甲魚的代`碼。