第二課:用Python設計第一個游戲

內(nèi)容來源于網(wǎng)絡,本人只是在此稍作整理,如有涉及版權問題,歸小甲魚官方所有。

練習題(來自小甲魚官方論壇)

0. 什么是BIF?

答:BIF 就是 Built-in Functions,內(nèi)置函數(shù)。為了方便程序員快速編寫腳本程序(腳本就是要編程速度快快快?。。。琍ython 提供了非常豐富的內(nèi)置函數(shù),我們只需要直接調用即可,例如 print() 的功能是“打印到屏幕”,input() 的作用是接收用戶輸入(注:Python3 用 input() 取代了 Python2 的 raw_input(),用法如有不懂請看視頻講解,視頻收藏鏈接:https://pan.baidu.com/s/1ZUHmlSGMBR3ywpNQJChTYw)。


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

答:在 Python 或 IDLE 中,輸入 dir(____builtins____) 可以看到 Python 提供的內(nèi)置方法列表(注意,builtins 前后是兩個下劃線哦)其中小寫的就是 BIF。如果想具體查看某個 BIF 的功能,比如 input(),可以在 shell 中輸入 help(input),就會得到這個 BIF 的功能描述。哦,答案應該是 68 個,不信你自己數(shù)數(shù)看,你們肯定沒有自己完成作業(yè)就來看答案!

image

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

答:不一樣,因為 Python 是一個“敏感的小女孩”,所以不要試圖欺騙她,對 Python 來說,fishc 和 FishC 是完全不同的兩個名字,所以編程的時候一定要當心。不過 Python 會幫助解決可能因此出現(xiàn)的問題,例如只有當標識符已經(jīng)賦值后(還記得嗎,小甲魚在課堂中說過 Python 的變量是不用先聲明的)才能在代碼中使用,未賦值的標識符直接使用會導致運行時錯誤,所以你很快就可以根據(jù)經(jīng)驗發(fā)現(xiàn)此問題。


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

答:縮進!在小甲魚看來,縮進是 Python 的靈魂,縮進的嚴格要求使得 Python 的代碼顯得非常精簡并且有層次(小甲魚閱讀過很多大牛的代碼,那個亂......C語言不是有國際亂碼大賽嘛......)。

所以在 Python 里對待縮進代碼要十分小心,如果沒有正確地縮進,代碼所做的事情可能和你的期望相去甚遠(就像C語言里邊括號打錯了位置)。

如果在正確的位置輸入冒號“:”,IDLE 會自動將下一行縮進!


4.這節(jié)課的例子中出現(xiàn)了“=”和“==”,他們表示不同的含義,你在編程的過程中會不小心把“==”誤寫成“=”嗎?有沒有好的辦法可以解決這個問題呢?

答:C語言的話,如果 if( c == 1 ) 寫成 if( c = 1 ),程序就完全不按程序員原本的目的去執(zhí)行,但在 Python 這里,不好意思,行不通,語法錯誤!Python 不允許 if 條件中賦值,所以 if c = 1: 會報錯!小甲魚覺得這種做法可以非常有效的防止程序員因為打炮、熬夜等問題導致粗心的 BUG ,并且這類 BUG 殺傷力都巨大!


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

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


編程題

0. 編寫程序:hello.py,要求用戶輸入姓名并打印“你好,姓名!”


name = input("請輸入您的姓名:")

print('你好,' + name + '!')

運行結果為:

請輸入您的姓名:alice
你好,alice!

1. 編寫程序:calc.py 要求用戶輸入1到100之間數(shù)字并判斷,輸入符合要求打印“你妹好漂亮”,不符合要求則打印“你大爺好丑”

第一種方法:輸入不是數(shù)字會報錯

temp = input("請輸入1到100之間的數(shù)字:")
num = int(temp)
if 1 <= num <= 100:
    print('你妹好漂亮^_^')
else:
    print('你大爺好丑T_T')

第二種方法:更好

num = input("請輸入1到100之間的數(shù)字:")
while True:
    if not num.isdigit():
        print("輸入不合法,請重新輸入數(shù)字:",end='')
        num = input()
    else:
        num = int(num)
        if num > 100:
            print("你大爺好丑")
        else:
            print("你妹好漂亮")
        break

2. 如果非要在原始字符串結尾輸入反斜杠,可以如何靈活處理?

>>>str = r'C:\Program Files\FishC\Good''\\'

3. 請寫下這一節(jié)課你學習到的內(nèi)容:格式不限,回憶并復述是加強記憶的好方式!

答:
2.1 第一個小游戲
寫一個小游戲:

# 第一個游戲
temp = input("不妨猜一下小甲魚現(xiàn)在心里想的是哪個數(shù)字:")
guess = int(temp)
if guess == 8:
    print("恭喜猜對了。")
else:
    print("猜錯啦,小甲魚現(xiàn)在心里想的數(shù)字是8")
print("游戲結束")

2.2 縮進
縮進是Python的靈魂,縮進的嚴格要求使得Python的代碼顯得非常精簡并且有層次。
2.3 BIF
BIF就是內(nèi)置函數(shù)的意思。例如print()就是一個內(nèi)置函數(shù),它的功能是“打印到屏幕”,這些都是Python提供,我們不用去管怎么實現(xiàn),只要調用即可。

help(print) # 查看print函數(shù)的功能


最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • http://python.jobbole.com/85231/ 關于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,794評論 1 118
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,322評論 0 10
  • 前言 Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打...
    依依玖玥閱讀 3,705評論 6 37
  • 如果你是來找什么考研秘訣或是勵志雞湯,請繞道。因為這是一個失敗的故事。 大三下學期又一次站在了人生十字...
    烏塔閱讀 4,199評論 0 0

友情鏈接更多精彩內(nèi)容