想學好程式設計,就是要多思考,多敲程式碼!用“ 練級” 的方式來學習程式設計會更有意思,能為我們學習程式設計提升動力和自豪感。
這些工具就是為了讓大家儘可能地去敲更多的程式碼,解決一些程式設計問題,效果好不好是因人而異的,怎麼能讓自己進步就怎麼學!以下的網站不限於練習 Python ,想練習別的語言也是可以的,大家有時間就敲起來吧!
[Python Challenge]The Python Challengewww.pythonchallenge.com
這個網站的頁面設計雖然不好看,但是裡面的謎題設計得很出色,上面有 33 道 Python 謎題,闖關需要有一定的基礎。在這個過程中,可能會讓你上頭,也可能會讓你自閉,下面這張圖是這個網站第 1 關的題目(第 0 關就不算了),應該是“ 凱撒加密”,解決這個問題之前,每個人都要三思!
[Coding Bat]CodingBat Pythoncodingbat.com
免費的線上程式設計站點,在上面可以集中精力進行編碼,可以選擇 Java 和 Python,短時間內就可以做很多的挑戰,作者希望大家在學習程式設計的過程中,把更多的精力放在“大的程式設計問題”上,專注更深層次的知識,而不是都花在一些列表操作、迴圈等一些小的邏輯問題上。
[Checkio]Checkio - coding gamepy.checkio.org
這個網站就真的是一個練級遊戲,題目都分佈在一個地圖上,提交完答案之後可以獲得積分,需要積滿分數,才能解鎖下一個島的程式設計題。通過挑戰之後,也可以檢視別人的方案。
[ Edabit ]https://edabit.com/edabit.com
這個網站上面,也可以練習各種程式語言,可以選擇難度等級。
[ Pyschools ]http://www.pyschools.com/www.pyschools.com
在這個網站可以練習 Python 的基礎語法知識,包括 變數和資料型別、函式、類和物件等。
[ Code Wars ]https://www.codewars.comwww.codewars.com
來接受程式設計的挑戰吧!卡塔挑戰,這上面不僅僅可以練習 python 還可以練習很多其他的程式語言,完成挑戰可以提高排名,這個網站的難度稍微高一點,難度等級有 8 個,從簡單到困難 8 kyu ~ 1 kyu ,看評價有人覺得 8 kyu 已經很難。
[ Hacker Rank ]HackerRankwww.hackerrank.com
[ Coding Game ]
Coding Games and Programming Challenges to Code Betterwww.codingame.com
在玩遊戲的同時,提升程式設計能力,這個網站也可以選擇多種語言,通過敲程式碼來消滅敵人,它的介面設計就像真的在玩遊戲一樣。
[ LeetCode ]題庫 - 力扣 (LeetCode)leetcode-cn.com
會演算法對一個程式設計人員來說,有多大的優勢就不用多說了,LeetCode 是一個做演算法題的網站,有多種語言可選 ,也有移動端的應用。來這裡挑戰,最好要有資料結構的基礎!
[ MIMO ]Mimo: Learn to Codegetmimo.com
編碼直觀,是想學習程式設計的初學者的選擇之一,通過填寫程式碼的缺失部分訓練程式設計知識, 是一種比較紮實的訓練模式。有移動端的 APP。
[ Brilliant ]Brilliant | Learn to thinkbrilliant.org
Brilliant 是學習數學和電腦科學方面的一個優秀的場所,有 PC 端的,也有手機端的 APP 。各個年齡的人都可以用,解決挑戰的學習方式是互動性的,而且它非常的圖形化,還莫名的附帶幽默感,比如用 Python 知識控制那隻 “綠烏龜” 畫出各種圖形,破解密碼。
[ Py ]一款在手機端隨時隨地學習程式語言的應用,支援 Python、演算法、SQL、HTML、CSS等方面的學習,是一種互動式的學習方式,通過大量的實踐對答,來不斷地提高自己的程式設計水平,讓學習變得簡單。
[ Enki ]學習資料科學、編碼等技能的 APP,這裡可以練習 Python ,從基礎知識和標準概念入手,比較容易理解,然後開始編寫少量的程式碼,挺適合沒有程式設計經驗的人,可以學習知識點,做小測試。