從零開始學Python,帶你手把手實戰之一
大家好,最近有些小伙伴在后臺給我留言說想要一些Python的實戰項目,能夠動手寫下代碼來實戰練習一下Python。我整理了一下我之前搜集的一些資料以及我個人的一些理解,給大家開設了這個專題。
在這個專題當中我會布置一個簡單的小項目,帶著大家實際動手實踐一下完成這個項目。當然這個難度也是從淺入深的,所以剛開始肯定是新手向,基本面向純小白。如果你已經有一定編程能力,還請不要嫌棄太簡單。
好了,廢話不多說,開始進入今天的課題。
課題
今天的課題是用Python實現一個猜數字游戲,所謂的猜數字游戲就是讓我們在心里設置一個數字,然后讓電腦來猜。每次電腦猜測數字之后,我們會告知電腦猜的數字是高了還是低了,如此循環往復,直到電腦猜出來為止。
要完成這個課題呢,需要了解Python基礎的輸入輸出以及循環的寫法,也需要了解二分法。最后完成的效果大概是這樣的:

知識點
首先,我們需要給電腦猜測的數字設定一個范圍,不然的話,這個程序顯然無法運行。這個范圍應該是我們輸入的,這里就需要用到Python基本的輸入輸出的用法。
輸入
Python的輸入比較簡單,通過input實現。
- x = input()
這樣得到的是屏幕上一整行的內容,不像其他語言一樣會根據空格進行分段,Python當中讀入都是一整行。
我們也可以給輸入加上一些提示符,提示符以字符串的形式傳入input中就可以了。
- x = input('Please enter a number')
輸出
Python的輸出稍稍復雜一點點,通過print函數進行。但是它print有幾種print的方法,我們一一分別介紹。
首先是直接輸出,Python可以輸出一個量也可以輸出多個量。如果要輸出多個量,可以使用逗號分隔,這些逗號分隔開的量會在輸出的時候以空格分開。這些被print的變量可以不是字符串類型,Python會自動調用它們的__repr__方法轉化成字符串。
- print(3)
- print('hello', 'world')
第二種方式是通過字符串拼接的方式,在Python當中字符串通過 + 可以拼接在一起,所以我們也可以在print的時候通過 + 把多個變量連接在一起再進行輸出。
- print('hello ' + 'world')
但是這里要注意,通過 + 連接的只能是字符串,如果是其他類型的變量會引發報錯。
第三種方式是使用format,這種方式我用得比較多,這種方式的好處是print的時候比較清晰,可以輸出一些比較復雜格式的結果。
- print('{} like {}, but i prefer {}'.format('xiaoming', 'basketball', 'football'))
也就是說Python會把format中的變量按照順序填入前面的{}當中。
最后一種方式是format的變體,這種方式只支持Python 3.6及之后的版本。相比于format會更加清晰一些,還是上面的例子,使用format變體就可以寫成這樣:
- he = 'xiaoming'
- sport = ['basketball', 'football']
- print(f'{he} like {sport[0]}, but i prefer {sport[1]}')
if-選擇語句在Python當中沒有switch這種用法,只有if-else一種用法。寫出來大概是這樣的:
- if rule1 and rule2 or rule3:
- pass
- elif rule4:
- pass
- else:
- pass
在if的后面寫上我們要判斷的條件,and表示條件的與操作,or表示或操作,還有表示非操作的not。其中and的運算優先級大于or,如果實在記不清的話,可以通過括號來自定義運算順序。
elif與else都不是必須的,根據實際情況定義。
while-循環
這一次我們還需要用到while循環,while循環的意思也很簡單,也就是while關鍵字后面會跟上一個條件當條件為真實就會一直執行,直到不再為真結束。
寫出來就是:
- while rule1:
- pass
關于break和continue關鍵字我們也先不講,等后面用到了再說。
基本上用到的知識點都在這里了,大家不妨親自動手寫寫看。實在做不出來或者是遇到的bug調不通也沒有關系,在公號后臺回復一下python1,我把我寫的代碼發給你。
本文轉載自微信公眾號「TechFlow」,作者梁唐。轉載本文請聯系TechFlow公眾號。