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