編寫一個(gè)簡(jiǎn)單的游戲來學(xué)習(xí) Python
通過編寫一個(gè)“猜數(shù)字”游戲來探索 Python(和其他編程語(yǔ)言)。
在這個(gè)系列中,我們要用不同的編程語(yǔ)言編寫相同的應(yīng)用,以比較各種語(yǔ)言是如何工作的,并說明使用標(biāo)準(zhǔn)測(cè)試程序是學(xué)習(xí)新編程好方法。
當(dāng)你學(xué)習(xí)一門新的編程語(yǔ)言時(shí),關(guān)注它們的共同點(diǎn)是件好事。變量、表達(dá)式和語(yǔ)句是大多數(shù)編程語(yǔ)言的基礎(chǔ)。一旦你理解了這些概念,你就可以開始弄清楚其余的東西。
因?yàn)榫幊陶Z(yǔ)言有許多相似之處,一旦你知道一種語(yǔ)言,你通常可以通過觀察它與你所知道的語(yǔ)言的不同之處來學(xué)習(xí)另一種語(yǔ)言的基礎(chǔ)知識(shí)。使用你用其他語(yǔ)言編寫的標(biāo)準(zhǔn)測(cè)試程序,可以讓你專注于語(yǔ)言,而不是程序的邏輯。
為了證明這點(diǎn),我們正在測(cè)試如何用多種語(yǔ)言編寫一個(gè)“猜數(shù)字”程序。計(jì)算機(jī)選擇一個(gè) 1 到 100 之間的數(shù)字,然后讓你猜。程序循環(huán),直到你猜出正確答案。
“猜數(shù)字”程序練習(xí)了編程語(yǔ)言的幾個(gè)概念:
- 變量
- 輸入
- 輸出
- 條件判斷
- 循環(huán)
這是一個(gè)很好的學(xué)習(xí)新編程語(yǔ)言的實(shí)踐實(shí)驗(yàn)。
用 Python 猜數(shù)字
用 Python 軟件基金會(huì)的話來說。“Python 是一種解釋性的、交互式的、面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它包含了模塊、異常、動(dòng)態(tài)類型、非常高層的動(dòng)態(tài)數(shù)據(jù)類型和類。”它是一種很好的通用編程語(yǔ)言,從簡(jiǎn)單的腳本到復(fù)雜的 GUI 應(yīng)用都很適用。
你可以通過編寫一個(gè)版本的“猜數(shù)字”游戲來探索 Python。這是我的實(shí)現(xiàn):
import random as randomlib
random = randomlib.randint(1, 100)
print("Guess a number between 1 and 100")
while True:
guess = int(input())
if guess < random:
print("Too low")
elif guess > random:
print("Too high")
else:
print("That's right!")
break
要給一個(gè)變量賦值,請(qǐng)列出變量的名稱,然后是 =
號(hào)。例如,語(yǔ)句 random = 0
給 random
變量分配了一個(gè)零值。
腳本的第一行就導(dǎo)入了 random
模塊。由于本系列中的所有程序都使用 random
作為變量的名稱,你可以使用 import random as randomlib
以別名導(dǎo)入它,以避免命名沖突。
很少有函數(shù)被內(nèi)置到 Python 中,大多數(shù)函數(shù)必須從標(biāo)準(zhǔn)庫(kù)中顯式導(dǎo)入。random
標(biāo)準(zhǔn)庫(kù)模塊有生成各種隨機(jī)值的功能。
腳本的第二行讀取函數(shù) randint()
的結(jié)果,并將其賦值給名為 random
的變量。函數(shù)需要兩個(gè)參數(shù):一個(gè)最小值和一個(gè)最大值。在本例中,范圍是 1
到 100
,以使游戲具有足夠的挑戰(zhàn)性。
你可以使用 input()
函數(shù)提示用戶輸入一個(gè)值。如果你寫 guess = int(input())
,Python 會(huì)等待用戶輸入一些文本,將其轉(zhuǎn)換為一個(gè)整數(shù),然后將值存儲(chǔ)在 guess
變量中。
Python 支持條件表達(dá)式和循環(huán)等流程控制。在“猜數(shù)字”游戲中,只要 guess
中的值不等于 random
,Python 就會(huì)繼續(xù)循環(huán)。
如果猜測(cè)值小于隨機(jī)數(shù),Python 會(huì)打印 Too low
,如果猜測(cè)值大于這個(gè)數(shù)字,Python 會(huì)打印 Too high
。
示例輸出
現(xiàn)在你已經(jīng)寫好了 Python 程序,運(yùn)行它來玩“猜數(shù)字”游戲。每次運(yùn)行程序,Python 都會(huì)隨機(jī)選取一個(gè)不同的數(shù)字。為了完成這個(gè)游戲,你需要猜測(cè),直到找到正確的數(shù)字:
$ python guess.py
Guess a number between 1 and 100
50
Too high
25
Too high
12
Too high
7
Too high
3
Too low
5
Too low
6
That's right!
在學(xué)習(xí)一門新的編程語(yǔ)言時(shí),這個(gè)“猜數(shù)字”游戲是一個(gè)很好的入門程序,因?yàn)樗砸环N相當(dāng)直接的方式練習(xí)了幾個(gè)常見的編程概念。通過在不同的編程語(yǔ)言中實(shí)現(xiàn)這個(gè)簡(jiǎn)單的游戲,你可以展示不同編程語(yǔ)言的一些核心概念,并比較每種語(yǔ)言的細(xì)節(jié)。
你有喜歡的編程語(yǔ)言嗎?你會(huì)如何編寫“猜數(shù)字”游戲?請(qǐng)關(guān)注本系列文章,看看你可能感興趣的其他編程語(yǔ)言的例子吧!