python筆記|04講:改進咱們的小遊戲

最第一版本的程序

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("遊戲結束,不玩啦^_^")


while循環

第二個改進要求:程序應該提供屢次機會給用戶猜想,專業點來說就是程序須要重複運行某些代碼。

請用紅筆圈出你認爲須要進行循環的代碼:

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 中,一個語句能夠分紅多行書寫嗎?

能夠,不過須要加 \

完善第二個改進要求(爲用戶提供三次機會嘗試,機會用完或者用戶猜中答案均退出循環)並改進視頻中小甲魚的代`碼。

相關文章
相關標籤/搜索