學python沒練習題怎麼行、今天,給大家準備一個項目: 99道編程練習,這些題如果能堅持每天至少完成一道,一定可以幫大家輕鬆 get Python 的編程技能。目前,這個項目已經獲得了 2924 Stars,2468 Forks。
首先,這 100+ 練習題根據難易程度分為三個等級:Level 1、2 和 3。下面對如何定義這三個 Level 進行了說明,大家可以結合自身的學習能力和實踐經驗進行選擇。
Level 1:初級。剛入門 Python 或者正在學一些基礎課程的同學們。通常包含 1 到 2 個類或函數的問題都可以解決,甚至答案都可能在一些教材中就能找到。
Level 2:中級。已經系統學習過 Python,並且已經有一定的編程背景的同學們,可以解決包含 3 個及以上類或函數的問題,不過這些答案就在教材找不到了。
Level 3:高級:可以用 Python 中非常豐富的各種庫、標準包或更高級的技術,結合數據結構和算法,來解決複雜的問題。
其次,每題都有問題描述、提示和解決方案。大家一定要先獨立完成,然後再看參考答案哦~
【程序1】
題目:有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
【程序2】
題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高
於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提
成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於
40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於
100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
【程序3】
題目:一個整數,它加上100後是一個完全平方數,再加上268又是一個完全平方數,請問該數是多少?
【程序4】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
【程序5】
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
【程序6】
題目:用*號輸出字母C的圖案。
【程序7】
題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful!
【程序8】
題目:輸出9*9口訣。
【程序9】
題目:要求輸出西洋棋棋盤。
【程序10】
題目:列印樓梯,同時在樓梯上方列印兩個笑臉。
【程序11】
題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月
後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
【程序12】
題目:判斷101-200之間有多少個素數,並輸出所有素數。
【程序13】
題目:列印出所有的「水仙花數」,所謂「水仙花數」是指一個三位數,其各位數字立方和等於該數
本身。例如:153是一個「水仙花數」,因為153=1的三次方+5的三次方+3的三次方。
【程序14】
題目:將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5。
【程序15】
題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,
60分以下的用C表示。
【程序17】
題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。
【程序18】
題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時
共有5個數相加),幾個數相加有鍵盤控制。
【程序19】
題目:一個數如果恰好等於它的因子之和,這個數就稱為「完數」。例如6=1+2+3.編程
找出1000以內的所有完數。
【程序20】
題目:一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在
第10次落地時,共經過多少米?第10次反彈多高?
【程序21】
題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個
第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下
的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。
【程序22】
題目:兩個桌球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定
比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出
三隊賽手的名單。
【程序23】
題目:列印出如下圖案(菱形)
*
***
*****
*******
*****
***
*
【程序24】
題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。
【程序25】
題目:求1+2!+3!+...+20!的和
【程序26】
題目:利用遞歸方法求5!。
【程序27】
題目:利用遞歸函數調用方式,將所輸入的5個字符,以相反順序列印出來。
【程序28】
題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第
3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後
問第一個人,他說是10歲。請問第五個人多大?
【程序29】
題目:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序列印出各位數字。
【程序30】
題目:一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。
【程序31】
題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續
判斷第二個字母。
【程序32】
題目:Press any key to change color, do you want to try it. Please hurry up!
【程序33】
題目:學習gotoxy()與clrscr()函數
【程序34】
題目:練習函數調用
【程序35】
題目:文本顏色設置
【程序36】
題目:求100之內的素數
【程序37】
題目:對10個數進行排序
【程序38】
題目:求一個3*3矩陣對角線元素之和
【程序39】
題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
【程序40】
題目:將一個數組逆序輸出。
【程序41】
題目:學習static定義靜態變量的用法
【程序40】
題目:學習使用auto定義變量的用法
【程序43】
題目:學習使用static的另一用法。
【程序44】
題目:學習使用external的用法。
【程序45】
題目:學習使用register定義變量的方法。
【程序46】
題目:宏#define命令練習(1)
【程序47】
題目:宏#define命令練習(2)
【程序48】
題目:宏#define命令練習(3)
【程序49】
題目:#if #ifdef和#ifndef的綜合應用。
【程序51】
題目:學習使用按位與 & 。
【程序52】
題目:學習使用按位或 | 。
【程序53】
題目:學習使用按位異或 ^ 。
【程序54】
題目:取一個整數a從右端開始的4~7位。
【程序55】
題目:學習使用按位取反~。
【程序56】
題目:畫圖,學用circle畫圓形。
【程序57】
題目:畫圖,學用line畫直線。
【程序58】
題目:畫圖,學用rectangle畫方形。
【程序59】
題目:畫圖,綜合例子。
【程序60】
題目:畫圖,綜合例子。
【程序61】
題目:列印出楊輝三角形(要求列印出10行如下圖)
【程序62】
題目:學習putpixel畫點。
【程序63】
題目:畫橢圓ellipse
【程序64】
題目:利用ellipse and rectangle 畫圖。
【程序65】
題目:一個最優美的圖案。
【程序66】
題目:輸入3個數a,b,c,按大小順序輸出。
【程序67】
題目:輸入數組,最大的與第一個元素交換,最小的與最後一個元素交換,輸出數組。
【程序68】
題目:有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數
【程序69】
題目:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出
圈子,問最後留下的是原來第幾號的那位。
【程序70】
題目:寫一個函數,求一個字符串的長度,在main函數中輸入字符串,並輸出其長度。
【程序71】
題目:編寫input()和output()函數輸入,輸出5個學生的數據記錄。
【程序72】
題目:創建一個鍊表。
【程序73】
題目:反向輸出一個鍊表。
【程序74】
題目:連接兩個鍊表。
【程序75】
題目:放鬆一下,算一道簡單的題目。
【程序76】
題目:編寫一個函數,輸入n為偶數時,調用函數求1/2+1/4+...+1/n,當輸入n為奇數時,調用函數
1/1+1/3+...+1/n(利用指針函數)
【程序89】
題目:某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:
每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。
【程序90】
題目:專升本一題,讀結果。
【程序91】
題目:時間函數舉例1
【程序92】
題目:時間函數舉例2
【程序93】
題目:時間函數舉例3
【程序94】
題目:時間函數舉例4,一個猜數遊戲,判斷一個人反應快