嵩天老师-Python语言程序设计-Python123配套练习测验题目汇总整理
測驗1:Python基本語法元素
知識點概要:
- 普遍認為Python語言誕生于1991年
- Python語言中的縮進在程序中長度統(tǒng)一且強制使用,只要統(tǒng)一即可,不一定是4個空格(盡管這是慣例)
- IPO模型指:Input Process Output
- 字符串的正向遞增和反向遞減序號體系:正向是從左到右,0到n-1,反向是從右到左,-1到-n,舉例
- Python的合法命名規(guī)則:命名包含字母,數(shù)字,下劃線,但是首字符不能是數(shù)字
- Python中獲得用戶輸入的方式為:input()
- Python中的保留字:type不是,是內(nèi)置函數(shù),def elif import 都是保留字
- Python的數(shù)據(jù)類型有整數(shù)、列表、字符串等,但是不包括實數(shù),實數(shù)是數(shù)學概念,在Python中對應著浮點數(shù)
- 保留字if-elif-else用于表示分支結(jié)構,in用來進行成員判斷
- print()格式化輸出,控制浮點數(shù)的小數(shù)點后兩位輸出應為:print("{:.2f}".format(XX)) :.2f哪一個都不能少
編程測試:
- Hello World 的條件輸出:獲得用戶輸入的一個整數(shù),參考該整數(shù)值,打印輸出"Hello World",要求:????????????????????????????????????????????????????????????????????????????????????????????????
如果輸入值是0,直接輸出"Hello World"????????????????????????????????????????????????????????????????????????????????????????????????
如果輸入值大于0,以兩個字符一行方式輸出"Hello World"(空格也是字符)????????????????????????????????????????????????????????????????????????????????????????????????
如果輸入值小于0,以垂直方式輸出"Hello World"
- 數(shù)值運算:獲得用戶輸入的一個字符串,格式如下:M OP N ,其中,M和N是任何數(shù)字,OP代表一種操作,表示為如下四種:+, -, *, /(加減乘除)????????????????????????????????????????????????????????????????????????????????????????????????根據(jù)OP,輸出M OP N的運算結(jié)果,統(tǒng)一保存小數(shù)點后2位。????????????????????????????????????????????????????????????????????????????????????????????????
注意:M和OP、OP和N之間可以存在多個空格,不考慮輸入錯誤情況。
測驗2:Python基本圖形繪制
知識點概要:
- 正確引用turtle庫的方式:
import setup from turtle是不正確的
- turtle庫是一個直觀有趣的圖形繪制函數(shù)庫,最早成功應用于LOGO編程語言,turtle繪圖體系以水平右側(cè)為絕對方位的0度,turtle坐標系的原點****默認在屏幕正中間
- turtle.circle(-90,90)表示繪制一個半徑為90像素的弧形,圓心在小海龜當前行進的右側(cè)
- turtle.seth(to_angle)函數(shù)的作用是設置小海龜當前行進方向為to_angle,to_angle是角度的整數(shù)值
- turtle.fd(distance)函數(shù)的作用是向小海龜當前行進方向前進distance距離
- turtle.pensize(size)函數(shù)的作用是改變畫筆的寬度為size像素
- turtle**.circle**()函數(shù)不能繪制橢圓形
- turtle.circle(x,y)函數(shù)繪制半圓,第二個參數(shù)y是180的奇數(shù)倍
- turtle.penup()的別名有turtle.pu(),turtle.up()
- turtle.colormode()的作用是設置畫筆RGB顏色的表示模式
- turtle.width()和turtle.pensize()都可以用來設置畫筆尺寸
- turtle.pendown()只是放下畫筆,并不繪制任何內(nèi)容
- 改變turtle畫筆的運行方向有left()、right()和seth()函數(shù),bk()只能后退,但是不改變方向
- turtle.done()用來停止畫筆繪制,但繪圖窗體不關閉,建議在每個turtle繪圖最后增加turtle.done()
- 循環(huán)相關保留字是:for…in和while,def用于定義函數(shù)
編程測試:
- turtle八邊形繪制:使用turtle庫,繪制一個八邊形
- turtle八角圖形繪制:使用turtle庫,繪制一個八角圖形
測驗3:基本數(shù)據(jù)類型
知識點概要:
- pow(x,0.5)能夠計算x的平方根,計算負數(shù)的平方根將產(chǎn)生復數(shù)
- 字符串.strip()方法的功能是去掉字符串兩側(cè)指定的字符
- 字符串.split()方法的功能是按照指定字符分隔字符串為數(shù)組
- 字符串.repalce()方法的功能是替換字符串中特定字符
- +操作符用來連接兩個字符串序列
- 字符串是一個連續(xù)的字符序列,使用\n可以實現(xiàn)打印字符信息的換行
- val = pow(2,1000)
#返回val結(jié)果的長度值要使用 len(str(val)),因為整型沒有l(wèi)en()方法,要通過str()函數(shù)
#將數(shù)字類型轉(zhuǎn)換為字符串 - 正確引用time庫的方式如下:
- Python語言的整數(shù)類型表示:十進制(一般表示)二進制(0b或0B開頭)八進制(0o或0O開頭)十六進制(0x或0X開頭)
- %運算符的意思是取余數(shù)
- 字符串切片操作:s[N:M],從N到M,但是不包括M
- print("{0:3}".format('PYTHON'))代碼執(zhí)行的結(jié)果是PYTHON,{0:3}表示輸出的寬度是3,但是如果字符串長度超過3就以字符串長度顯示
編程測試:
- 平方根格式化:獲得用戶輸入的一個整數(shù)a,計算a的平方根,保留小數(shù)點后3位,并打印輸出。????????????????????????????????????????????????????????????????????????????????????????????????輸出結(jié)果采用寬度30個字符、右對齊輸出、多余字符采用加號(+)填充,????????????????????????????????????????????????????????????????????????????????????????????????如果結(jié)果超過30個字符,則以結(jié)果寬度為準
- 字符串分段組合:獲得輸入的一個字符串s,以字符減號(-)分割s,將其中首尾兩段用加號(+)組合后輸出
測驗4:程序的控制結(jié)構
知識點概要:
- for…in…中in的后面需要的是一個迭代類型(組合類型),{1;2;3;4;5}不是Python的有效數(shù)據(jù)類型
- range(x,y)
- 程序的三種基本結(jié)構:順序結(jié)構,循環(huán)結(jié)構和分支結(jié)構
- 循環(huán)是程序根據(jù)條件判斷結(jié)果向后反復執(zhí)行的一種運行方式,是一種程序的基本控制結(jié)構,條件循環(huán)和遍歷循環(huán)結(jié)構都是基本的循環(huán)結(jié)構,死循環(huán)能夠用于測試性能,形式上的死循環(huán)可以用break來退出,例如
- p = -p #表示給p賦值為它的負數(shù),Python中的=是賦值符號
- 縮進表達層次關系,同時用來判斷當前Python語句在分支結(jié)構中
- continue結(jié)束當次循環(huán),但是不跳出循環(huán)
- random庫中用于生產(chǎn)隨機小數(shù)的函數(shù)是random(),而randint()/getrandbits()/randrange()都產(chǎn)生隨機整數(shù)
- 程序錯誤是一個大的概念,不僅指代碼運行錯誤,更代表功能邏輯錯誤。使用異常處理try-excepy,可以對程序的異常進行捕捉和處理,程序運行可能不會出錯,但邏輯上可能會出錯
編程測試:
- 四位玫瑰數(shù):四位玫瑰數(shù)是4位數(shù)的自冪數(shù)。自冪數(shù)是指一個 n 位數(shù),它的每個位上的數(shù)字的 n 次冪之和等于它本身??????????????????????????????????????????????????????????????????????????????????????????????
例如:當n為3時,有1^3 + 5^3 + 3^3 = 153,153即是n為3時的一個自冪數(shù),3位數(shù)的自冪數(shù)被稱為水仙花數(shù)????????????????????????????????????????????????????????????????????????????????????????????
請輸出所有4位數(shù)的四位玫瑰數(shù),按照從小到大順序,每個數(shù)字一行
- 100以內(nèi)素數(shù)之和:求100以內(nèi)所有素數(shù)之和并輸出????????????????????????????????????????????????????????????????????????????????????????????????
素數(shù)指從大于1,且僅能被1和自己整除的整數(shù)????????????????????????????????????????????????????????????????????????????????????????????,提示:可以逐一判斷100以內(nèi)每個數(shù)是否為素數(shù),然后求和
測驗5:函數(shù)和代碼復用
知識點概要:
- 函數(shù)作用:增強代碼可讀性、降低編程復雜度、復用代碼,函數(shù)不能直接提高代碼的執(zhí)行速度
- 全局變量與局部變量:函數(shù)的參數(shù)一般為局部變量,函數(shù)內(nèi)使用global s 表示變量s為全局變量
- 函數(shù)在調(diào)用前必須已經(jīng)存在函數(shù)定義,否則無法執(zhí)行,Python內(nèi)置函數(shù)直接使用,不需要引用任何模塊
- 模塊內(nèi)高耦合,模塊間低耦合:高耦合的特點是復用較為困難,模塊間關系應盡可能簡單,模塊之間耦合度低,盡可能合理劃分功能塊,功能塊內(nèi)部耦合度高
- 遞歸不會提高程序的執(zhí)行效率,任何遞歸程序都可以通過堆棧或隊列變?yōu)榉沁f歸程序
- 函數(shù)是一段具有特定功能的、可重用的語句組,可以看做是一段具有名字的程序,通過函數(shù)名來調(diào)用,同時不需要知道函數(shù)的內(nèi)部實現(xiàn)原理,只需要知道調(diào)用方法(接口)即可
- def func(*a,b):是錯誤的函數(shù)定義,*a表示可變參數(shù),可變參數(shù)只能放在函數(shù)參數(shù)的最后,即def func(a,*b):
- 函數(shù)可以包含0個或多個return語句
- 每個遞歸函數(shù)至少存在一個基例,但可能存在多個基例,基例表示不再進行遞歸,同時決定了遞歸的深度
編程測試:
- 隨機密碼生成:以整數(shù)17為隨機數(shù)種子,獲取用戶輸入整數(shù)N為長度,產(chǎn)生3個長度為N位的密碼,密碼的每位是一個數(shù)字。每個密碼單獨一行輸出,產(chǎn)生密碼采用random.randint()函數(shù)
- 連續(xù)質(zhì)數(shù)計算:獲得用戶輸入數(shù)字N,計算并輸出從N開始的5個質(zhì)數(shù),單行輸出,質(zhì)數(shù)間用逗號,分割。
注意:需要考慮用戶輸入的數(shù)字N可能是浮點數(shù),應對輸入取整數(shù);最后一個輸出后不用逗號
測驗6:組合數(shù)據(jù)類型
知識點概要:
- 列表ls,ls.append(x)表示只能向列表最后增加一個元素,如果x是一個列表,則該列表作為一個元素增加到ls中
- 集合“交并差補”四種運算分別對應的運算符是:& | - ^
- 字典d,d.values()返回的是dict_values類型,包括字典中的所有值,通常與for…in組合使用
- Python的元組類型:元組采用逗號和圓括號(可選)來表示,一旦創(chuàng)建就不能修改,一個元組可以作為另一個元祖的元素,可用多級索引獲取信息,序列類型(元組、列表)中的元素都可以是不同類型
- 創(chuàng)建字典時,如果相同鍵對應不同值,字典采用最后一個"鍵值對"
- 集合與字典類型最外側(cè)都用{}表示,不同在于集合類型元素是普通元素,字典類型元素是鍵值對。字典在程序設計中非常常用,因此直接采用{}默認生成一個空字典
- 對于字典d:x in d表示判斷x是否是字典d中的鍵,鍵是值的序號,也是字典中值的索引方式
- Python序列類型有:列表類型、元組類型、字符串類型(Python內(nèi)置數(shù)據(jù)類型中沒有數(shù)組類型)
- 組合數(shù)據(jù)類型能夠?qū)⒍鄠€相同類型或不同類型的數(shù)據(jù)組織起來,通過單一的表示使數(shù)據(jù)操作更有序、更容易
- 組合數(shù)據(jù)類型可以分為3類:序列類型、集合類型和映射類型;
- Python的字符串、元組和列表類型都屬于序列類型,序列類型總體上可以看成一維向量,如果其元素都是序列,則可被當作二維向量
- 對于序列s:s.index(x)返回序列s中元素x第一次出現(xiàn)的序號,并不返回全部序號
編程測試:
- 數(shù)字不同數(shù)之和:獲得用戶輸入的一個整數(shù)N,輸出N中所出現(xiàn)不同數(shù)字的和????????????????????????????????????????????????????????????????????????????????????????????????
例如:用戶輸入 123123123,其中所出現(xiàn)的不同數(shù)字為:1、2、3,這幾個數(shù)字和為6
- 人名最多數(shù)統(tǒng)計:給出了一個字符串,其中包含了含有重復的人名,請直接輸出出現(xiàn)最多的人名
測驗7:文件和數(shù)據(jù)格式化
知識點概要:
- 數(shù)據(jù)組織的緯度:一維數(shù)據(jù)采用線性方式組織,對應于數(shù)學中的數(shù)組和集合等概念;二維數(shù)據(jù)采用表格方式組織,對應于數(shù)學中的矩陣;高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構成,采用對象方式組織,字典就用來表示高維數(shù)據(jù),一般不用來表示一二緯數(shù)據(jù)
- Python對文件操作采用的統(tǒng)一步驟是:打開-操作-關閉(其中關閉可以省略)
- CSV文件格式是一種通用的、相對簡單的文件格式,應用于程序之間轉(zhuǎn)移表格數(shù)據(jù),CSV文件的每一行是一維數(shù)據(jù),可以使用Python中的列表類型表示,整個CSV文件是一個二維數(shù)據(jù),一般來說,CSV文件都是文本文件,由相同的編碼字符組成
- 二維列表切片ls = [[1,2,3],[4,5,6],[7,8,9]]獲取其中的元素5要使用:ls[1][1]
- 文件可以包含任何內(nèi)容,是數(shù)據(jù)的集合和抽象,是存儲在輔助存儲器上的數(shù)據(jù)序列,而函數(shù)或類才是程序的集合和抽象
- 打開文件后采用close()關閉文件是一個好習慣。如果不調(diào)用close(),當前Python程序完全運行退出時,該文件引用被釋放,即程序退出時,相當于調(diào)用了close(),默認關閉
- Python文件的"+"打開模式,與r/w/a/x一同使用,在原功能基礎上同時增加了讀寫功能,同時賦予文件的讀寫權限
- 同一個文件既可以用文本方式打卡,也可以用二進制方式打開
- 列表元素如果都是列表,其可能表示二維數(shù)據(jù),如[[1,2],[3,4],[5,6]],如果列表元素不都是列表,則它表示一維數(shù)據(jù)
- Python文件讀操作有:read()、readline()、readlines(),沒有readtext()方法
編程測試:
- 文本的平均列數(shù):打印輸出附件文件的平均列數(shù),計算方法如下:????????????????????????????????????????????????????????????????????????????????????????????????
(1)有效行指包含至少一個字符的行,不計算空行????????????????????????????????????????????????????????????????????????????????????????????????
(2)每行的列數(shù)為其有效字符數(shù)????????????????????????????????????????????????????????????????????????????????????????????
(3)平均列數(shù)為有效行的列數(shù)平均值,采用四舍五入方式取整數(shù)進位
-CSV格式清洗與轉(zhuǎn)換:附件是一個CSV格式文件,提取數(shù)據(jù)進行如下格式轉(zhuǎn)換:????????????????????????????????????????????????????????????????????????????????????????????????
(1)按行進行倒序排列???????????????????????????????????????????????????????????????????????????????????????????????
(2)每行數(shù)據(jù)倒序排列????????????????????????????????????????????????????????????????????????????????????????????????
(3)使用分號(;)代替逗號(,)分割數(shù)據(jù),無空格????????????????????????????????????????????????????????????????????????????????????????????????
按照上述要求轉(zhuǎn)換后將數(shù)據(jù)輸出
測驗8:程序設計方法學
知識點概要:
- 用戶體驗:編程只是手段,程序最終為人類服務,用戶體驗很重要,一個提醒進度的進度條、一個永不拋出異常的程序、一個快速的響應、一個漂亮的圖標、一個合適尺寸的界面等都是用戶體驗的組成部分。總的來說,用戶體驗是一切能夠提升程序用戶感受的組成
- 計算思維是基于計算機的思維模式,計算機出現(xiàn)之前,由于沒有快速計算裝置,計算所反映的思維模式主要是數(shù)學思維,即通過公式來求解問題。當快速計算裝置出現(xiàn)后,計算思維才真正形成
- 軟件產(chǎn)品 = 程序功能 + 用戶體驗 ;產(chǎn)品不僅需要功能,更需要更好的用戶體驗。往往,產(chǎn)品都需要綜合考慮技術功能和人文設計,這源于產(chǎn)品的商業(yè)特性。即,商業(yè)競爭要求產(chǎn)品不能只關心技術功能,更要關心用戶易用和喜好需求
- os庫:os.system()可以啟動進程執(zhí)行程序
- 函數(shù)是自頂向下設計的關鍵元素,通過定義函數(shù)及其參數(shù)逐層開展程序設計
- os.path子庫:os.path.relpath(path)用來計算相對路徑
- Python第三方庫安裝:使用pip命令、使用集成安裝工具或訪問UCI網(wǎng)站下載安裝文件,請不要直接聯(lián)系作者索要第三方庫
- 計算思維的本質(zhì)是:抽象和自動化
- os庫是Python重要的標準庫之一,提供了路徑操作、進程管理等幾百個函數(shù)功能,覆蓋與操作系統(tǒng)、文件操作等相關的眾多功能;os庫適合所有操作系統(tǒng)
- 計算生態(tài)以競爭發(fā)展、相互依存和迅速更迭為特點,在開源項目間不存在頂層設計,以類自然界"適者生存"的方式形成技術演進路徑
編程測試:
- 英文字符的魯棒輸入:獲得用戶的任何可能輸入,將其中的英文字符進行打印輸出,程序不出現(xiàn)錯誤
- 數(shù)字的魯棒輸入:獲得用戶輸入的一個數(shù)字,可能是浮點數(shù)或復數(shù),如果是整數(shù)僅接收十進制形式,且只能是數(shù)字。對輸入數(shù)字進行平方運算,輸出結(jié)果,要求:
1)無論用戶輸入何種內(nèi)容,程序無錯誤????????????????????????????????????????????????????????????????????????????????????????????
2)如果輸入有誤,請輸出"輸入有誤"
測驗9:Python計算生態(tài)縱覽
知識點概要:
- Python網(wǎng)絡爬蟲方向第三方庫有:Requests、Scrapy、pyspider
- Python數(shù)據(jù)可視化方向第三方庫有:Mayavi、Matplotlib、Seaborn
- Python Web信息提取方向第三方庫有:Beautiful Soup、Python-Goose、Re
- Python游戲開發(fā)第三方庫有:Panda3D、cocos2d、PyGame
- Python數(shù)據(jù)分析方向第三方庫有:Numpy、Pandas、Scipy
- Python圖形用戶界面方向(GUI)第三方庫有:PyQt5、wxPython、PyGObject
- Python網(wǎng)站開發(fā)框架方向第三方庫有:Django、Pyramid、Flask
- Python文本處理方向第三方庫有:NLTK、python-docx、PyPDF2
- Python網(wǎng)絡應用開發(fā)方向第三方庫有:aip、MyQR、WeRobot
- aip是百度的人工智能功能Python訪問接口
- Python人工智能方向第三方庫有:TensorFlow、Scikit-learn、MXNet
- Vizard是虛擬現(xiàn)實第三方庫
- pyovr是增強現(xiàn)實開發(fā)庫
- redis-py是redis數(shù)據(jù)的Python訪問接口
編程測試:
- 系統(tǒng)基本信息獲取:獲取系統(tǒng)的遞歸深度、當前執(zhí)行文件路徑、系統(tǒng)最大UNICODE編碼值等3個信息,并打印輸出;輸出格式如下:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
RECLIMIT:<深度>, EXEPATH:<文件路徑>, UNICODE:<最大編碼值>???????????????????????????????????????????????????????????????????????????????????????????????
提示:請在sys標準庫中尋找上述功能
- 二維數(shù)據(jù)表格輸出:tabulate能夠?qū)ΧS數(shù)據(jù)進行表格輸出,是Python優(yōu)秀的第三方計算生態(tài)。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????編寫程序,能夠輸出如下風格效果的表格數(shù)據(jù)
期末測驗
*編程測試:
- 無空隙回聲輸出:獲得用戶輸入,去掉其中全部空格,將其他字符按收入順序打印輸出
- 文件關鍵行數(shù):關鍵行指一個文件中包含的不重復行。關鍵行數(shù)指一個文件中包含的不重復行的數(shù)量。????????????????????????????????????????????????????????????????????????????????????????????????統(tǒng)計附件文件中關鍵行的數(shù)量
- 剩余兩題與測驗九重復,不重復記錄
總結(jié)
以上是生活随笔為你收集整理的嵩天老师-Python语言程序设计-Python123配套练习测验题目汇总整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios .mm文件调用c语言函数报错,深
- 下一篇: python123子字符串输出_【无为则