上一章我們學(xué)習(xí)了如何編輯代碼及執(zhí)行东臀,這一章我們以直接執(zhí)行一個(gè)小游戲開始python的語法歷程
《落花僧的python小白極簡(jiǎn)編程課》
依葫蘆畫瓢敲出游戲代碼
完成代碼
先一模一樣照著敲一遍,可以試著猜一下每行代碼的意義唬格,不過不用深度糾結(jié),我們后面會(huì)詳細(xì)講解汇在,敲完后保存為game.py婿奔,這里注意除了中文字,其他所有的字母和符號(hào)都需要在英文輸入法狀態(tài)下輸入宇攻。(忍住,不要復(fù)制粘貼)
import random
print('-----歡迎玩我的第一個(gè)游戲-----')
my_ssp = input('請(qǐng)輸入 剪刀倡勇,石頭或布: ')
print('你 出 了:' + my_ssp)
ssp_choice = ['剪刀','石頭','布']
computer_ssp = random.choice(ssp_choice)
print('電腦出了:' + computer_ssp)
執(zhí)行代碼, 玩起來
在命令行執(zhí)行:python game.py
用輸入法輸入 剪刀逞刷,石頭或布 的漢字后回車
游戲代碼解析
第1行
# scissors, stone, paper 剪刀,石頭妻熊,布
此行為注釋夸浅,只給人閱讀解釋用,在執(zhí)行的時(shí)候電腦會(huì)忽略掉固耘,在每一行開始使用
#
其后即為注釋內(nèi)容.第2行
import random
import
是一個(gè)關(guān)鍵詞题篷,后面緊跟 的random
是python自帶的隨機(jī)函數(shù)工具包,因?yàn)檫@里需要電腦隨機(jī)出剪刀厅目,石頭和布番枚,所以需要使用這個(gè)函數(shù)工具包來隨機(jī)選擇剪刀,石頭损敷,布三個(gè)中的一個(gè)葫笼。這句的作用就是把這個(gè)工具聲明出來,告訴python解釋器拗馒,我后面需要用到這個(gè)路星,提前幫我預(yù)備好,import后面都是跟python中稱之為包的工具箱诱桂。第3行
print('-----歡迎玩我的第一個(gè)游戲-----')
這里的作用是程序啟動(dòng)后打印一行歡迎字符串洋丐,字符串是用兩個(gè)單引號(hào)包起來的呈昔,前后各一個(gè),讓解釋器照這幾個(gè)字符一模一樣打印出來到屏幕上友绝。
第4行和第5行
my_ssp = input('請(qǐng)輸入 剪刀堤尾,石頭或布: ')
print('你 出 了:' + my_ssp)
程序執(zhí)行代碼指令的順序是從上往下執(zhí)行的,這兩行的作用是 保存你在命令行中輸入的字符串迁客,然后打印出來郭宝。
這里調(diào)用了input函數(shù),這個(gè)函數(shù)概念和中學(xué)的那個(gè)函數(shù)概念是很相似的掷漱,為什么會(huì)有函數(shù)這個(gè)東西粘室?是因?yàn)槲覀儼岩恍┫嗤挠?jì)算封裝起來,這樣不用考慮內(nèi)部細(xì)節(jié)卜范,在需要這個(gè)計(jì)算的時(shí)候直接調(diào)用封裝好的這個(gè)函數(shù)衔统,傳入?yún)?shù)執(zhí)行即可,假如我們有一個(gè)函數(shù)定義:
然后別人問你要 f(198)的值先朦,你直接使用2x+1這個(gè)計(jì)算邏輯帶入198即可缰冤。此處的input函數(shù)以及上面我們調(diào)用的print函數(shù)都是這個(gè)邏輯犬缨,你不用關(guān)心內(nèi)部怎能實(shí)現(xiàn)和計(jì)算的喳魏,只需要用input
和print
這兩個(gè)符號(hào)去傳入?yún)?shù)即可,這個(gè)就是計(jì)算過程的抽象怀薛,是計(jì)算機(jī)科學(xué)中強(qiáng)大的工具刺彩,無論多么復(fù)雜的系統(tǒng),都是一層層封裝和調(diào)用來實(shí)現(xiàn)的枝恋。
input
的作用是獲取到你在命令行輸入的值创倔,這里使用變量my_ssp
來保存,相當(dāng)于一個(gè)箱子焚碌,把你輸入的內(nèi)容放到里面畦攘,后面需要用從里面取即可。
第5行的作用是回顯確認(rèn)告知你的輸入十电,這里就需要你剛輸入的內(nèi)容了知押,我們已經(jīng)將這個(gè)字符串放到了my_ssp
中,所以我們直接再?gòu)倪@個(gè)盒子里拿鹃骂。
'你 出 了:' + my_ssp
這里是把兩個(gè)字符串內(nèi)容拼接起來台盯,+
號(hào)除了可以數(shù)字相加,還有字符串拼接的功能畏线。
第6行
ssp_choice = ['剪刀','石頭','布']
等號(hào)的右邊:三個(gè)字符串以逗號(hào)隔開静盅,放到了中括號(hào)里,這里也構(gòu)成了一個(gè)盒子寝殴,我們知道單引號(hào)前后可以構(gòu)成一個(gè)字符串的盒子蒿叠,這里是有三個(gè)字符串盒子明垢,然后被放到了一個(gè)有順序的大盒子中,這個(gè)大盒子在python里叫列表市咽。
所以這句就是ssp_choice 這個(gè)變量被賦值成了一個(gè)列表袖外,這個(gè)列表中有三個(gè)順序排列的字符串。
第7行
computer_ssp = random.choice(ssp_choice)
random
是我們剛才在最上面隨機(jī)函數(shù)工具箱魂务,因?yàn)槲覀兊男枨笫菑娜齻€(gè)字符串中隨機(jī)選擇一個(gè)曼验,所以需要使用random
包中的choice
函數(shù),調(diào)用方式是:包名+函數(shù)名+傳入的參數(shù)粘姜,因?yàn)槲覀円呀?jīng)把三個(gè)字符串放入了ssp_choice這個(gè)列表中鬓照,所以這里傳入?yún)?shù)ssp_choice即可,最后將電腦隨機(jī)選擇的一個(gè)元素放入到computer_ssp變量中孤紧。
第8行
print('電腦出了:' + computer_ssp)
和第5行相同豺裆,拼接出字符串,然后打印号显。
END總結(jié)
《剪刀石頭布》0.1版十分簡(jiǎn)單臭猜,但我們理解了變量,包押蚤,函數(shù)等概念蔑歌。
最后你可以思考一下,可以怎么修改這個(gè)程序揽碘,比如把電腦設(shè)置成只能出布次屠?
下一章我們繼續(xù)完善這個(gè)游戲,同時(shí)學(xué)習(xí)python中的for循環(huán)雳刺,if判斷等控制語句劫灶,實(shí)現(xiàn)更復(fù)雜的功能。