課時2:用python設計第一個遊戲

那是個好男孩發表於2018-07-19

目錄:

一、第一個小遊戲

二、縮排

三、BIF

四、課時02課後習題及答案

 

*********************

一、第一個小遊戲

*********************

 

# p2_1.py
"""--- 第一個小遊戲 ---"""
temp = input("不妨猜猜小甲魚現在心裡想的是哪一個數字:")
guess = int(temp)
if guess == 8:
      print("臥槽!你是小甲魚心裡的蛔蟲嗎?")
      print("哼,猜中了也沒有獎勵!")
else:
      print("猜錯啦,小甲魚現在心裡想的是8")
print("遊戲結束,不玩啦^_^")

step1:開啟shell    開啟IDIE

step2:新建視窗     選擇File->New Window 命令(或者你可以直接按ctrl+n鍵,新建一個檔案)

step3:敲入程式碼     按照上面的格式填入程式碼

step4:儲存檔案     按快捷鍵ctrl+s,將原始碼儲存為名為p2_1.py的檔案

step5:執行程式碼     輸入程式碼一起體驗一下,F5走起(也可以選擇Run->Run Module命令)!

 

執行執行結果如下:

                                           

Tab按鍵的使用:

(1)縮排。

(2)IDIE後提供一些建議,例如輸入pr 按下TAB鍵會顯示所有可能的命令供你參考。

 

程式的講解:

  python不像是C-like(一切語法類似於c語言的程式語言),不難發現,在上面程式中沒有變數的宣告,也沒有任何大括號,而是用縮排來表示即可。“==”大多是表示判斷是否相等,“=”表示賦值。使用者輸入資料,input返回使用者輸入的資料給temp。python裡的變數是沒有分型別的,在這裡input返回的是一個字串變數。下一條語句把資料轉化為整型。接下來進行if-else語句的判斷,如果guess的值為8,那麼則執行if條件成立下縮排裡面的內容。

 

***********

二、縮排

***********

  縮排是Python的靈魂。如果在正確的位置輸入冒號(:),IDIE會在下一行自動進行縮排,正如剛才的程式碼,在if和else語句後邊加上冒號(:),然後按下回車,第二行開始的程式碼會自動進行縮排。

 

**********

三、BIF

**********

  BIF是Built-in Functions,內建函式的意思。舉幾個例子:

  print()是一個內建函式,只需要直接呼叫即可,它的功能是”列印到螢幕",就是說把括號裡的內容顯示在螢幕上。

  input()也是一個BIF,它的作用是接收使用者輸入並將其返回,在前方的程式碼中,用temp這個變數來接收。

  python的變數是不需要事先宣告的,直接給一個合法的名字賦值,這個變數就生成了。

內建函式列表

  在IDIE中輸入dir(_ _builtins_ _)可以看到Python提供的內建函式列表。(在這裡純小寫的都是BIF)

  

  help()這個BIF用於顯示BIF的功能描述。舉個例:help(print)

   

 擴充套件閱讀 print()的作用

https://blog.csdn.net/dugujiujian1124/article/details/50454920

sep 和 end , 以及print()內建函式可以有多個不同的引數。

input()內建函式接受的是一個標準的輸入資料,返回的是字串型別,string型別的資料。

 

*******************************

四、課時02課後習題及答案

*******************************

 測試題:

0. 什麼是BIF?
1. 用課堂上小甲魚教的方法數一數 Python3 提供了多少個 BIF?
2. 在 Python 看來:'FishC' 和 'fishc' 一樣嗎?
3. 在小甲魚看來,Python 中什麼是最重要的?你贊同嗎?
4. 這節課的例子中出現了“=”和“==”,他們表示不同的含義,你在程式設計的過程中會不小心把“==”誤寫成“=”嗎?有沒有好的辦法可以解決這個問題呢?
5. 你聽說過“拼接”這個詞嗎?

動動手:

0. 編寫程式:hello.py,要求使用者輸入姓名並列印“你好,姓名!”
例如:
                          

1. 編寫程式:calc.py 要求使用者輸入1到100之間數字並判斷,輸入符合要求列印“你妹好漂亮”,不符合要求則列印“你大爺好醜”
例如:
                                   

答案:

 

測試題答案:

 

0. 什麼是BIF?

BIF 就是 Built-in Functions,內建函式。為了方便程式設計師快速編寫指令碼程式(指令碼就是要程式設計速度快快快!!!),Python 提供了非常豐富的內建函式,我們只需要直接呼叫即可,例如 print() 的功能是“列印到螢幕”,input() 的作用是接收使用者輸入(注:Python3 用 input() 取代了 Python2 的 raw_input(),用法如有不懂請看視訊講解)。

1. 用課堂上小甲魚教的方法數一數 Python3 提供了多少個 BIF?

在 Python 或 IDLE 中,輸入 dir(__builtins__) 可以看到 Python 提供的內建方法列表(注意,builtins 前後是兩個下劃線哦)其中小寫的就是 BIF。如果想具體檢視某個 BIF 的功能,比如 input(),可以在 shell 中輸入 help(input),就會得到這個 BIF 的功能描述。哦,答案應該是 68 個,不信你自己數數看。

2. 在 Python 看來:'FishC' 和 'fishc' 一樣嗎?

不一樣,因為 Python 是一個“敏感的小女孩”,所以不要試圖欺騙她,對 Python 來說,fishc 和 FishC 是完全不同的兩個名字,所以程式設計的時候一定要當心。不過 Python 會幫助解決可能因此出現的問題,例如只有當識別符號已經賦值後(還記得嗎,小甲魚在課堂中說過 Python 的變數是不用先宣告的)才能在程式碼中使用,未賦值的識別符號直接使用會導致執行時錯誤,所以你很快就可以根據經驗發現此問題。

3. 在小甲魚看來,Python 中什麼是最重要的?你贊同嗎?

縮排!在小甲魚看來,縮排是 Python 的靈魂,縮排的嚴格要求使得 Python 的程式碼顯得非常精簡併且有層次(小甲魚閱讀過很多大牛的程式碼,那個亂......C語言不是有國際亂碼大賽嘛......)。
所以在 Python 裡對待縮排程式碼要十分小心,如果沒有正確地縮排,程式碼所做的事情可能和你的期望相去甚遠(就像C語言裡邊括號打錯了位置)。
如果在正確的位置輸入冒號“:”,IDLE 會自動將下一行縮排!
 
4. 這節課的例子中出現了“=”和“==”,他們表示不同的含義,你在程式設計的過程中會不小心把“==”誤寫成“=”嗎?有沒有好的辦法可以解決這個問題呢

C語言的話,如果 if( c == 1 ) 寫成 if( c = 1 ),程式就完全不按程式設計師原本的目的去執行,但在 Python 這裡,不好意思,行不通,語法錯誤!Python 不允許 if 條件中賦值,所以 if c = 1: 會報錯!

5. 你聽說過“拼接”這個詞嗎?

在一些程式語言,我們可以將兩個字串“相加”在一起,如:'I' + 'Love' + 'FishC' 會得到 'ILoveFishC',在 Python 裡,這種做法叫做拼接字串。
 

動動手答案:

0. 編寫程式:hello.py,要求使用者輸入姓名並列印“你好,姓名!”

# hello.py
yourName = input("請輸入你的名字:")
print("你好," + yourName)

1. 編寫程式:calc.py 要求使用者輸入1到100之間數字並判斷,輸入符合要求列印“你妹好漂亮”,不符合要求則列印“你大爺好醜”

number0 = input("請輸入1到100之間的數字:")
number1 = int(number0)
if 0 <= number1 <= 100 : # 或者這樣寫 if 0 <= number1 & number1 <= 100 :
      print("你妹好漂亮emm")
else:
      print("你大爺好醜~")

if 0  <=  number0  <= 100 : 這樣寫是錯的!!!

 

相關文章