




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C
M
Y
CM
MY
CY
CMY
K
Python程序設(shè)計項目實訓(xùn)-1校.indd12019-8-2918:20:54
內(nèi)容簡介
本書在內(nèi)容體系上與編者編寫的《Python程序設(shè)計項目化教程》(中國鐵道出版社有
限公司出版)緊密配合,主要包括8個實驗。每個實驗包括實驗?zāi)康?、實驗預(yù)備知識和實
驗內(nèi)容。其中,實驗內(nèi)容包括基礎(chǔ)實驗、延伸實驗和綜合實驗三個部分?;A(chǔ)實驗的目標
是強化概念理解,分步啟發(fā)引導(dǎo)學(xué)生在編程調(diào)試過程中進行自我知識總結(jié);延伸實驗是基
于幾個知識點的綜合利用,提升學(xué)生對知識點的綜合理解;綜合實驗則是培養(yǎng)學(xué)生綜合應(yīng)
用知識進行實際項目開發(fā)的能力。
本書適合作為高職高專院校大數(shù)據(jù)技術(shù)與應(yīng)用、計算機網(wǎng)絡(luò)技術(shù)等計算機相關(guān)專業(yè)的
程序設(shè)計基礎(chǔ)課程配套教材,也可作為其他專業(yè)學(xué)習Python編程的入門教材。
圖書在版編目(CIP)數(shù)據(jù)
Python程序設(shè)計項目實訓(xùn)/向春枝,郭紅艷,李濤主編.—北京:
中國鐵道出版社有限公司,2019.9
教育部現(xiàn)代學(xué)徒制試點院校系列教材高職高專大數(shù)據(jù)技術(shù)及應(yīng)用
“十三五”規(guī)劃教材
ISBN978-7-113-26202-0
Ⅰ.①P…Ⅱ.①向…②郭…③李…Ⅲ.①軟件工具-程序設(shè)計-高等
職業(yè)教育-教材Ⅳ.①TP311.561
中國版本圖書館CIP數(shù)據(jù)核字(2019)第187592號
書名:Python程序設(shè)計項目實訓(xùn)
作者:向春枝?郭紅艷?李?濤
策劃:韓從付編輯部電話2019
責任編輯:周海燕?徐盼欣
封面設(shè)計:
責任校對:張玉華
責任印制:郭向偉
出版發(fā)行:中國鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號)
網(wǎng)址:/51eds/
印刷:三河市航遠印刷有限公司
版次:2019年9月第1版?2019年9月第1次印刷
開本:787?mm×1?092?mm?1/16?印張:11?字數(shù):199千
書號:ISBN978-7-113-26202-0
定價:34.00元
版權(quán)所有?侵權(quán)必究
凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社教材圖書營銷部聯(lián)系調(diào)換。電話:(010)63550836
打擊盜版舉報電話:(010)51873659
Python程序設(shè)計項目實訓(xùn)-1校.indd22019-8-3016:36:17
編?委?會
主?任:
甘?勇?河南省高等學(xué)校計算機教育研究會、鄭州工程技術(shù)學(xué)院
副主任:
李學(xué)相?鄭州大學(xué)????
何?欣?河南大學(xué)
向春枝?河南廣播電視大學(xué)
委?員:(按照姓氏筆畫排序)
丁愛萍?黃河水利職業(yè)技術(shù)學(xué)院陳利軍?河南經(jīng)貿(mào)職業(yè)學(xué)院
王丁磊?安陽師范學(xué)院周?欣?中國鐵道出版社有限公司
王明斐?河南工學(xué)院鄭麗芬?鄭州西亞斯國際學(xué)院
鄧淼磊?河南工業(yè)大學(xué)柏杏麗?河南工程學(xué)院
任建吉?河南理工大學(xué)趙偉艇?平頂山學(xué)院
任越美?河南工業(yè)職業(yè)技術(shù)學(xué)院侯貴法?安陽工學(xué)院
劉?征?河南牧業(yè)經(jīng)濟學(xué)院郭清浦?河南財經(jīng)政法大學(xué)
劉道華?信陽師范學(xué)院高國紅?河南科技學(xué)院
楊?樺?開封大學(xué)席?磊?河南農(nóng)業(yè)大學(xué)
李學(xué)橋?鄭州升達經(jīng)貿(mào)管理學(xué)院唐?嫻?商丘學(xué)院
吳懷廣?鄭州輕工業(yè)大學(xué)商信華?信陽農(nóng)林學(xué)院
吳慧欣?華北水利水電大學(xué)韓玉民?中原工學(xué)院
張廣軍?中科院計算技術(shù)研究所謝偉增?河南司法警官職業(yè)學(xué)院
張明慧?鄭州師范學(xué)院靳?峰?南陽理工學(xué)院
張濱燕?河南職業(yè)技術(shù)學(xué)院
Python程序設(shè)計項目實訓(xùn)-1校.indd32019-8-2918:20:54
序
FOREWORD
隨著信息技術(shù)的不斷發(fā)展,人類在計算的“算力”“算法”“數(shù)據(jù)”等
方面的能力水平達到前所未有的高度。由此引發(fā)的數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)及
人工智能技術(shù)浪潮將極大地推動和加速人類社會各個方面的深刻變革。世界
各國清楚地認識到數(shù)據(jù)科學(xué)與智能的重要性和前瞻性,相繼制定有關(guān)的發(fā)展
政策、戰(zhàn)略,希望能夠占領(lǐng)高新技術(shù)的前沿高地,把握最新的核心技術(shù)和競
爭力。
在大數(shù)據(jù)及人工智能發(fā)展浪潮中,我國敏銳地把握住時代的機遇以求
得到突破性的發(fā)展。十八屆五中全會首次提出“國家大數(shù)據(jù)戰(zhàn)略”,發(fā)布了
《促進大數(shù)據(jù)發(fā)展行動綱要》;2017年,《大數(shù)據(jù)產(chǎn)業(yè)發(fā)展規(guī)劃(2016—
2020年)》實施。黨的十九大提出“推動互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能和實
體經(jīng)濟深度融合”,習近平總書記在政治局集體學(xué)習中深刻分析了我國大
數(shù)據(jù)發(fā)展的現(xiàn)狀和趨勢,對我國實施國家大數(shù)據(jù)戰(zhàn)略提出了更高的要求。
2016年教育部批準設(shè)立數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)本科專業(yè)和大數(shù)據(jù)技術(shù)與應(yīng)
用??茖I(yè),引導(dǎo)高校加快大數(shù)據(jù)人才培養(yǎng),以適應(yīng)國家大數(shù)據(jù)戰(zhàn)略對人才
的需求。我國大數(shù)據(jù)人才培養(yǎng)進入快速發(fā)展時期,據(jù)統(tǒng)計,到2018年3月,
我國已有近300所高校獲批建設(shè)“數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)”專業(yè),2019年
9月,設(shè)立這一專業(yè)的高校將增至500所。僅河南省設(shè)立“數(shù)據(jù)科學(xué)與大數(shù)
據(jù)技術(shù)”專業(yè)的本科高校達到36所,設(shè)立“大數(shù)據(jù)技術(shù)與應(yīng)用”專業(yè)的高
職高專院校達到38所。然而,當前我國高校的大數(shù)據(jù)教學(xué)尚處于摸索階段,
尤其缺乏成熟的、系統(tǒng)性和規(guī)范性的大數(shù)據(jù)教學(xué)體系和教材。2017年2月,
Python程序設(shè)計項目實訓(xùn)-1校.indd52019-8-2918:20:55
教育部在復(fù)旦大學(xué)召開“高等工程教育發(fā)展戰(zhàn)略研討會”達成“復(fù)旦共識”,隨后從“天
大行動”到“北京指南”,掀起新工科建設(shè)的熱潮,各高校積極開展新理念、新結(jié)構(gòu)、
新模式、新質(zhì)量和新體系的新工科建設(shè)模式的探索。2018年10月,教育部發(fā)布了《關(guān)
于加快建設(shè)發(fā)展新工科實施卓越工程師教育培養(yǎng)計劃2.0的意見》,提出大力發(fā)展“四
個新”(新工科、新醫(yī)科、新農(nóng)科、新文科),推動各地各高校加快構(gòu)建大數(shù)據(jù)、智
能制造、機器人等10個新興領(lǐng)域的專業(yè)課程體系。為了落實國家戰(zhàn)略、加快大數(shù)據(jù)
新工科專業(yè)建設(shè)、加速人才培養(yǎng)、提供人才支撐,都需要更多地關(guān)注數(shù)據(jù)科學(xué)與大數(shù)
據(jù)技術(shù)及人工智能相關(guān)專業(yè)教材的建設(shè)和出版工作。為此河南省高等學(xué)校計算機教育
研究會組織河南省高校與中國鐵道出版社有限公司、中科院計算技術(shù)研究所和相關(guān)企
業(yè)聯(lián)合成立了編委會,將分別面向本科和高職高專編寫教材。
本編委會將秉承虛心求教、博采眾長的學(xué)習態(tài)度,積極組織一線教師、科研人員
和企業(yè)工程師一起面向新工科開展大數(shù)據(jù)領(lǐng)域教材的編寫工作,以期為蓬勃發(fā)展的數(shù)
據(jù)科學(xué)與大數(shù)據(jù)專業(yè)建設(shè)貢獻我們的綿薄之力。毋庸諱言,由于編委會自身水平有限,
編著過程中難免出現(xiàn)諸多疏漏與不妥之處,還望讀者不吝賜教!
編委會
2019年6月
Python程序設(shè)計項目實訓(xùn)-1校.indd62019-8-2918:20:55
前言
PREFACE
隨著人工智能、大數(shù)據(jù)時代的來臨,Python成為人們學(xué)習編程的首選,各高職高專院
校的計算機相關(guān)專業(yè)特別是大數(shù)據(jù)技術(shù)與應(yīng)用、計算機網(wǎng)絡(luò)技術(shù)等專業(yè)也逐漸把Python作
為程序設(shè)計課程的首選語言。
本書是中國鐵道出版社有限公司出版的《Python程序設(shè)計項目化教程》的配套用書。
全書共分為8個實驗,前7個實驗是Python各個知識點的針對性練習,第8個實驗是綜合
實驗。
每個實驗由實驗?zāi)康摹嶒烆A(yù)備知識、實驗內(nèi)容組成。實驗內(nèi)容由淺入深、循序漸
進,知識點全面,并有目的地針對學(xué)習Python語言過程中遇到的重點和難點進行實驗設(shè)計,
強調(diào)實用性和易學(xué)性,可以幫助讀者進一步熟悉和掌握Python語言的語法知識及程序設(shè)計
的技巧。
Python程序設(shè)計是實踐性很強的課程,學(xué)好這門課的一個有效方法就是多上機實踐。
本書從實際教學(xué)出發(fā),加強了對Python語言的重點和難點知識點的指導(dǎo)。在實踐過程中,
深化學(xué)生對理論知識的認識,使學(xué)生掌握Python語言的基本語法和程序設(shè)計的基本方法,
讓學(xué)生基本具備使用Python開發(fā)實際系統(tǒng)的能力,并培養(yǎng)學(xué)生解決實際問題的能力。每個
實驗都按照基礎(chǔ)實驗、延伸實驗、綜合實驗進行相關(guān)實驗設(shè)計,強調(diào)循序漸進地進行學(xué)
習,通過基礎(chǔ)實驗掌握相關(guān)章節(jié)的基本知識點,通過延伸試驗進行部分知識點的融合練
習,通過綜合實驗對章節(jié)內(nèi)容進行綜合性訓(xùn)練。
本書由向春枝、郭紅艷、李濤任主編,由丁肖搖、李全武、王宇任副主編,楊麗、
吳思宇、于鵬、陳永波、呂振雷、張大鵬參與編寫。編者分別來自鄭州信息科技職業(yè)學(xué)
院、河南職業(yè)技術(shù)學(xué)院、黃河水利職業(yè)學(xué)院及新華三技術(shù)有限公司。
Python程序設(shè)計項目實訓(xùn)-1校.indd72019-8-2918:20:55
本書適合作為高職高專院校大數(shù)據(jù)技術(shù)與應(yīng)用、計算機網(wǎng)絡(luò)技術(shù)等計算機相關(guān)專業(yè)的
程序設(shè)計基礎(chǔ)課程配套教材,也可作為其他專業(yè)學(xué)習Python編程的配套入門教材。本書配
備有相關(guān)電子資源,讀者可登錄中國鐵道出版社有限公司官方網(wǎng)站(http://www.tdpress.
com/51eds/)下載或聯(lián)系編者索要。
本書所有程序在Python3.7版本下調(diào)試運行通過。由于編者水平有限,加之時間倉促,
書中難免有不妥及疏漏之處,懇請廣大讀者批評指正。編者的電子郵箱為xtz_book@sina.
com,歡迎讀者來信交流。
編?者
2019年7月
Python程序設(shè)計項目實訓(xùn)-1校.indd82019-8-2918:20:55
目錄
CONTENTS
實驗1?Python基礎(chǔ)知識/1
實驗2?流程控制/18
實驗3?字符串處理/34
實驗4?數(shù)據(jù)存儲/53
實驗5?函數(shù)封裝/80
實驗6?文件存儲/97
實驗7?系統(tǒng)集成/124
實驗8?實戰(zhàn)小項目之銀行系統(tǒng)的實現(xiàn)/139
Python程序設(shè)計項目實訓(xùn)-1校.indd12019-8-2918:20:55
Python程序設(shè)計項目實訓(xùn)-1校.indd22019-8-2918:20:55
實驗1Python基礎(chǔ)知識
一、實驗?zāi)康?/p>
(1)理解并掌握Python的基本語法。
(2)理解并合理使用Python的變量和數(shù)據(jù)類型。
(3)理解并合理使用Python的常用運算符。
二、實驗預(yù)備知識
復(fù)習Python主教材,掌握校園大數(shù)據(jù)學(xué)生“畫像”系統(tǒng)的輸入/輸出模塊的基礎(chǔ)知識。
三、實驗內(nèi)容
1.基礎(chǔ)實驗
(1)Python提供了input()(輸入)函數(shù),用來將外界輸入的數(shù)據(jù)以字符串的形式存入計
算機內(nèi)部;提供了print()(輸出)函數(shù),用來將計算機內(nèi)部的信息輸出,除了引號(單引號、
雙引號、三引號)括起來的數(shù)據(jù)要原樣輸出外,還需要注意格式化輸出的相關(guān)知識。
實驗1-1?將一條消息存儲在變量中,再將其打印出來。
輸入:None
輸出:
Thisisamessage.
答案解析:print()函數(shù)的最基本用法。
.1
Python程序設(shè)計項目實訓(xùn)-1校.indd12019-8-2918:20:55
Python程序設(shè)計項目實訓(xùn)實驗1?Python基礎(chǔ)知識
將消息存儲在中
#message
message="Thisisamessage."
print(message)
實驗1-2?將一條消息存儲在變量中,再將其打印出來。將其變量修改為另一條新消息,
并將它再次打印出來。
輸入:None
輸出:
Thisisamessage.
Thisisanewmessage.
答案解析:print()函數(shù)的最基本用法。
#將消息存儲在message中
message="Thisisamessage."
#輸出
print(message)
#修改message的值
message="Thisisanewmessage."
#輸出
print(message)
實驗1-3?將用戶的姓名存儲在變量之中,并向用戶顯示一條信息。
輸入:姓名,如peter。
輸出:
HelloPeter,wouldyouliketolearnsomePythontoday?
答案解析:print()函數(shù)的最基本用法。
#將用戶姓名存儲在userName中
userName=input("親,請輸入姓名:")
#格式化輸出
print("Hello"+userName+",wouldyouliketolearnsomePythontoday?")
實驗1-4?采用print()函數(shù)實現(xiàn)如下效果:
*
**
****
********
****************
********
2.
Python程序設(shè)計項目實訓(xùn)-1校.indd22019-8-2918:20:55
實驗1?Python基礎(chǔ)知識
****
**
*
答案解析:
第一種解決方案:print()函數(shù)的最基本用法,引號內(nèi)內(nèi)容原樣輸出。
print("*")
print("**")
print("****")
print("********")
print("****************")
print("********")
print("****")
print("**")
print("*")
第二種解決方案:使用print()函數(shù)同時輸出多行。總體思想和第一種解決方案相同。
print('''
*
**
****
********
****************
********
****
**
*
''')
第三種解決方案:使用input()函數(shù)和print()函數(shù)。
shuru1=input("請輸入一個*")
shuru2=input("請輸入兩個*")
shuru3=input("請輸入四個*")
shuru4=input("請輸入八個*")
shuru5=input("請輸入十六個*")
shuru6=input("請輸入八個*")
shuru7=input("請輸入四個*")
shuru8=input("請輸入兩個*")
shuru9=input("請輸入一個*")
print(shuru1)
print(shuru2)
.3
Python程序設(shè)計項目實訓(xùn)-1校.indd32019-8-2918:20:55
Python程序設(shè)計項目實訓(xùn)實驗1?Python基礎(chǔ)知識
print(shuru3)
print(shuru4)
print(shuru5)
print(shuru6)
print(shuru7)
print(shuru8)
print(shuru9)
(2)Python提供了格式化輸出,編程人員采用格式化輸出可根據(jù)程序需要輸出想要的效
果。常用的格式化輸出占位符有浮點型字符%f、整型字符%d、字符型字符%c。
實驗1-5?采用格式化輸出如下效果。
|---歡迎新同學(xué)---|
請輸入學(xué)生的姓名:張三
請輸入學(xué)生的性別:男
請輸入學(xué)生的家庭住址:河南省鄭州市
請輸入學(xué)生的愛好:編程
請輸入學(xué)生的電話:152900071306
請輸入學(xué)生的郵箱163.com
請輸入學(xué)生的成績:74
您的姓名是:張三
您的性別是:男
您的家庭住址是:河南省鄭州市
您的愛好是:編程
您的電話是:152900071306
您的郵箱是163.com
您的成績是:74
答案解析:輸入語句可以采用input()進行提示輸入,輸出語句采用格式化輸出,由于
input()語句接收的是字符串類型,print()語句輸出的結(jié)果和input()語句輸入的結(jié)果一致,需
要用到%s作為輸出的格式符,唯一的不同點是輸出結(jié)果左側(cè)有空格。例如,左側(cè)需要10個空
格,那么整型、字符型就可以寫成%10d和%10s。
print('''|---歡迎新同學(xué)---|''')
name=input('請輸入學(xué)生的姓名:')
sex=input('請輸入學(xué)生的性別:')
address=input('請輸入學(xué)生的家庭住址:')
hobby=input('請輸入學(xué)生的愛好:')
tel=input('請輸入學(xué)生的電話:')
email=input('請輸入學(xué)生的郵箱:')
scores=input('請輸入學(xué)生的成績:')
#控制輸出格式為字符串,且距離左側(cè)10個空格
4.
Python程序設(shè)計項目實訓(xùn)-1校.indd42019-8-2918:20:55
實驗1?Python基礎(chǔ)知識
print('您的姓名是:%10s'%(name))
#控制輸出格式為字符串,且距離左側(cè)20個空格
print('您的性別是:%20s'%(sex))
#控制輸出格式為字符串,且距離左側(cè)30個空格
print('您的家庭住址是:%30s'%(address))
#控制輸出格式為字符串,且距離左側(cè)40個空格
print('您的愛好是:%40s'%(hobby))
#控制輸出格式為字符串
print('您的電話是:%s'%(tel))
#控制輸出格式為字符串,且距離左側(cè)30個空格
print('您的郵箱是:%30s'%(email))
#函數(shù)輸出(print)
print('您的成績是:',scores)
實驗1-6?制作趣味模板程序。
需求:等待用戶輸入名字、地點、愛好,根據(jù)用戶的名字和愛好顯示內(nèi)容。例如:
親愛的××××,最喜歡在××××地方××××
答案解析:
第一種解決方案:Python輸入函數(shù)(input())和輸出函數(shù)(print())。
#輸入函數(shù)(input())
name=input("請輸入你的名字:")
place=input("請輸入你經(jīng)常去的地方:")
like=input("請輸入你平時的愛好:")
#輸出函數(shù)(print())
print('親愛的',name,',','最喜歡在',place,'地方',like)
第二種解決方案:解題思路同第一種解決方案。
#輸入函數(shù)(input())
test="親愛的{0},最喜歡在{1}地方{2}"
name=input("請輸入你的名字:")
place=input("請輸入你經(jīng)常去的地方:")
like=input("請輸入你平時的愛好:")
#調(diào)用format()格式化函數(shù)
v=test.format(name,place,like)
#輸出函數(shù)(print())
print(v)
(3)強制類型轉(zhuǎn)換是指將一個變量類型強制轉(zhuǎn)換為另一個變量類型的過程,它的主要目
的是將兩個類型不同的變量轉(zhuǎn)換為類型一致的變量,從而進行相關(guān)操作。Python中常用的變
量轉(zhuǎn)換函數(shù)有int(x[,base])、float(x)、str(x)、tuple(x)和list(x)等。
.5
Python程序設(shè)計項目實訓(xùn)-1校.indd52019-8-2918:20:55
Python程序設(shè)計項目實訓(xùn)實驗1?Python基礎(chǔ)知識
實驗1-7?仔細閱讀以下代碼,找出錯誤并進行修改。
print('''|---歡迎新同學(xué)---|''')
name=input('請輸入學(xué)生的姓名:')
sex=input('請輸入學(xué)生的性別:')
address=input('請輸入學(xué)生的家庭住址:')
hobby=input('請輸入學(xué)生的愛好:')
tel=input('請輸入學(xué)生的電話:')
email=input('請輸入學(xué)生的郵箱:')
scores=input('請輸入學(xué)生的成績:')
print('您的姓名是:',name)
print('您的性別是:',sex)
print('您的家庭住址是:',address)
print('您的愛好是:',hobby)
print('您的電話是:',tel)
print('您的郵箱是:',email)
print('您的成績是:%.2f'%(scores))
程序運行結(jié)果如下:
|---歡迎新同學(xué)---|
請輸入學(xué)生的姓名:張三
請輸入學(xué)生的性別:男
請輸入學(xué)生的家庭住址:河南省鄭州市
請輸入學(xué)生的愛好:編程
請輸入學(xué)生的電話/p>
請輸入學(xué)生的郵箱163.com
請輸入學(xué)生的成績:74
您的姓名是:張三
您的性別是:男
您的家庭住址是:河南省鄭州市
您的愛好是:編程
您的電話是/p>
您的郵箱是163.com
Traceback(mostrecentcalllast):
File"C:/Users/computer/PycharmProjects/python/example.py",line15,
in<module>
print('您的成績是:%.2f'%(scores))
TypeError:mustberealnumber,notstr
答案解析:除了所講述的print()函數(shù)和input()函數(shù)外,還需要學(xué)生掌握數(shù)據(jù)類型轉(zhuǎn)換和
字符串的格式化輸出等相關(guān)知識點。因為input()函數(shù)將接收到內(nèi)容以字符串的形式進行存儲,
6.
Python程序設(shè)計項目實訓(xùn)-1校.indd62019-8-2918:20:55
實驗1?Python基礎(chǔ)知識
所以scores接收到的學(xué)生成績是字符串類型。然而,在輸出語句中采用的是以浮點型f進行輸
出,故需要將字符串類型轉(zhuǎn)換為浮點類型。
利用數(shù)據(jù)類型轉(zhuǎn)換和字符串的格式化輸出等相關(guān)知識點,對程序進行修改如下:
print('''|---歡迎新同學(xué)---|''')
#輸入函數(shù)(input())
name=input('請輸入學(xué)生的姓名:')
sex=input('請輸入學(xué)生的性別:')
address=input('請輸入學(xué)生的家庭住址:')
hobby=input('請輸入學(xué)生的愛好:')
tel=input('請輸入學(xué)生的電話:')
email=input('請輸入學(xué)生的郵箱:')
scores=float(input('請輸入學(xué)生的成績:'))
#輸出函數(shù)(print())
print('您的姓名是:',name)
print('您的性別是:',sex)
print('您的家庭住址是:',address)
print('您的愛好是:',hobby)
print('您的電話是:',tel)
print('您的郵箱是:',email)
#格式化輸出,%.2小數(shù)點后保留兩位小數(shù)
print('您的成績是:%.2f'%(scores))
(4)要對數(shù)據(jù)進行操作運算,除了變量(操作數(shù))外,還需要一定的操作符。Python常
用的運算符有算術(shù)運算符、比較(關(guān)系)運算符、賦值運算符、位運算符、邏輯(關(guān)系)運
算符、成員運算符等。
實驗1-8?編程實現(xiàn)求學(xué)生的總成績。
輸入:學(xué)生的姓名、學(xué)生的語文成績、學(xué)生的數(shù)學(xué)成績、學(xué)生的英語成績和學(xué)生的理綜
成績。
輸出:學(xué)生的姓名、學(xué)生的語文成績、學(xué)生的數(shù)學(xué)成績、學(xué)生的英語成績、學(xué)生的理綜
成績和學(xué)生的總成績。
答案解析:
第一種解決方案:輸入/輸出知識點、string類型強制轉(zhuǎn)換為int知識點,以及算術(shù)運算符+
知識點。
#輸入函數(shù)(input())
name=input('請輸入學(xué)生的姓名:')
scores_chinese=input('請輸入學(xué)生的語文成績:')
.7
Python程序設(shè)計項目實訓(xùn)-1校.indd72019-8-2918:20:56
Python程序設(shè)計項目實訓(xùn)實驗1?Python基礎(chǔ)知識
scores_mathe=input('請輸入學(xué)生的數(shù)學(xué)成績:')
scores_english=input('請輸入學(xué)生的英語成績:')
scores_science=input('請輸入學(xué)生的理綜成績:')
#變量類型轉(zhuǎn)換,string類型轉(zhuǎn)換為int類型
Nscores_chinese=int(scores_chinese)
Nscores_mathe=int(scores_mathe)
Nscores_english=int(scores_english)
Nscores_science=int(scores_science)
#算術(shù)運算符,加法(+)求和
scores=Nscores_chinese+Nscores_mathe+Nscores_english+Nscores_science
#輸出函數(shù)(print())
print('您的姓名是:',name)
print('您的語文成績是:',scores_chinese)
print('您的數(shù)學(xué)成績是:',scores_mathe)
print('您的英語成績是:',scores_english)
print('您的理綜成績是:',scores_science)
print('您的總成績是:',scores)
第二種解決方案:將用戶輸入的成績直接轉(zhuǎn)換為int型??傮w思想和第一種解決方案
相同。
#輸入函數(shù)(input())
name=input('請輸入學(xué)生的姓名:')
#輸入函數(shù)(input())和變量類型轉(zhuǎn)換(string轉(zhuǎn)換為int)
scores_chinese=int(input('請輸入學(xué)生的語文成績:'))
scores_mathe=int(input('請輸入學(xué)生的數(shù)學(xué)成績:'))
scores_english=int(input('請輸入學(xué)生的英語成績:'))
scores_science=int(input('請輸入學(xué)生的理綜成績:'))
#加法求和
scores=scores_chinese+scores_mathe+scores_english+scores_science
#輸出函數(shù)(print())
print('您的姓名是:',name)
print('您的語文成績是:',scores_chinese)
print('您的數(shù)學(xué)成績是:',scores_mathe)
print('您的英語成績是:',scores_english)
print('您的理綜成績是:',scores_science)
print('您的總成績是:',scores)
實驗1-9?用戶隨機輸入兩個數(shù)字,根據(jù)算術(shù)運算符,實現(xiàn)簡單的計算器功能。
答案解析:算術(shù)運算符的用法。
num1=float(input("請輸入第一個數(shù)字"))
num2=float(input("請輸入第二個數(shù)字"))
8.
Python程序設(shè)計項目實訓(xùn)-1校.indd82019-8-2918:20:56
實驗1?Python基礎(chǔ)知識
num3=0
#算術(shù)運算符+
num3=num1+num2
print("兩個數(shù)字執(zhí)行算術(shù)運算符(+)的結(jié)果為:",num3)
#算術(shù)運算符-
num3=num1-num2
print("兩個數(shù)字執(zhí)行算術(shù)運算符(-)的結(jié)果為:",num3)
#算術(shù)運算符*
num3=num1*num2
print("兩個數(shù)字執(zhí)行算術(shù)運算符(*)的結(jié)果為:",num3)
#算術(shù)運算符/
num3=num1/num2
print("兩個數(shù)字執(zhí)行算術(shù)運算符(/)的結(jié)果為:",num3)
#算術(shù)運算符%
num3=num1%num2
print("兩個數(shù)字執(zhí)行算術(shù)運算符(%)的結(jié)果為:",num3)
#算術(shù)運算符**
num3=num1**num2
print("兩個數(shù)字執(zhí)行算術(shù)運算符(**)的結(jié)果為:",num3)
#算術(shù)運算符//
num3=num1//num2
print("兩個數(shù)字執(zhí)行算術(shù)運算符(//)的結(jié)果為:",num3)
實驗1-10?用戶隨機輸入直角三角形的兩個直角邊長,程序輸出斜邊的長度。
答案解析:算術(shù)運算符中冪運算符(**)的用法。同時擴展引用Python的math函數(shù)。
#導(dǎo)入數(shù)學(xué)庫函數(shù)
importmath
#輸入函數(shù)(input())
a=float(input("請輸入直角邊1的長度"))#輸入實數(shù)
b=float(input("請輸入直角邊2的長度"))#輸入實數(shù)
#冪運算,計算斜邊的平方
c=a*a+b*b#計算,得到的是斜邊的平方值
#引用數(shù)學(xué)庫函數(shù),進行開方運算
c=sqrt(c)#開方,得到的是斜邊長
#輸出函數(shù)(print())
print("斜邊長為:",c)#顯示,一項是字符串,一項是c表示的斜邊長
實驗1-11?用戶輸入秒數(shù),系統(tǒng)輸出該秒數(shù)是由幾天幾小時幾分鐘幾秒鐘組成的。例
如:用戶輸入145893,程序輸出“145893秒為1天,16小時,31分鐘,33秒”。
答案解析:算術(shù)運算符中,取整除運算符(//)和取余數(shù)運算符(%)的用法。
.9
Python程序設(shè)計項目實訓(xùn)-1校.indd92019-8-2918:20:56
Python程序設(shè)計項目實訓(xùn)實驗1?Python基礎(chǔ)知識
#調(diào)用輸入函數(shù)(input())進行輸入并進行變量類型的轉(zhuǎn)換
total=int(input("請輸入一個數(shù)字,代表秒數(shù)"))
#整除運算符和乘法運算符,計算天
day=total//(24*60*60)
#取余運算符(%)、取整除運算符(//)和乘法運算符(*),計算時
hour=(total%(24*60*60))//(60*60)
#取余運算符(%)、取整除運算符(//)和乘法運算符(*),計算分
minute=(total%(60*60))//60
#取余運算符(%),計算秒
second=total%60
#輸出函數(shù)(print())進行格式化輸出,%d表示以十進制整數(shù)的形式進行輸出
print("%d秒為%d天,%d小時,%d分鐘,%d秒"%(total,day,hour,minute,
second))
實驗1-12?用戶依次輸入語文分數(shù)、數(shù)學(xué)分數(shù)、英語分數(shù),輸出總分和平均分。
答案解析:算術(shù)運算符中加法運算符(+)和除法運算符(/)的用法。
#輸入函數(shù)(input())和變量類型轉(zhuǎn)換
chinese=int(input("請輸入語文分數(shù):"))
maths=int(input("請輸入數(shù)學(xué)分數(shù):"))
english=int(input("請輸入英語分數(shù):"))
#輸出函數(shù),%.2f是輸出格式,表示保留小數(shù)點后2位
print("本次考試的總分:%.2f,平均分:%.2f"%((chinese+maths+english),(chinese
+maths+english)/3))
(5)比較運算符操作符表示對運算符兩側(cè)的值進行比較,并確定它們之間的關(guān)系。
實驗1-13?用戶隨機輸入兩個數(shù)字,根據(jù)比較運算符,輸出兩個操作數(shù)之間的關(guān)系。
輸入:任意兩個整型操作數(shù)。
輸出:操作數(shù)之間的關(guān)系。例如,5>4,輸出5大于4。
答案解析:比較運算符的用法。
#輸入函數(shù)(input())、變量類型轉(zhuǎn)換
a=int(input("請輸入第一個操作數(shù):"))
b=int(input("請輸入第二個操作數(shù):"))
#比較左右兩側(cè)操作數(shù)是否相等
if(a==b):
print("Line1-aisequaltob")
else:
print("Line1-aisnotequaltob")
#比較左右兩側(cè)操作數(shù)是否不等
if(a!=b):
print("Line2-aisnotequaltob")
10.
Python程序設(shè)計項目實訓(xùn)-1校.indd102019-8-2918:20:56
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安股權(quán)咨詢服務(wù)方案
- 江門語言矯正方案咨詢
- 活動簽名策劃方案
- 水電站電氣施工方案范本
- 財務(wù)規(guī)范咨詢方案模板下載
- 活動策劃方案課件
- 田徑場圍網(wǎng)維修施工方案
- 大門口管線保護施工方案
- 肺炎活動策劃方案
- 人教版八年級數(shù)學(xué)上冊《13.3三角形的內(nèi)角與外角》同步練習題及答案
- 簽訂待崗協(xié)議書
- GB/T 17642-2025土工合成材料非織造布復(fù)合土工膜
- 《醫(yī)用細胞生物學(xué)》課件:線粒體的功能與疾病
- 外聘電工安全協(xié)議書范本
- 自然地理學(xué) 第七章學(xué)習資料
- 風力發(fā)電機組偏航系統(tǒng)(風電機組課件)
- 保密知識課件下載
- 典型故障波形分析(電力系統(tǒng)故障分析課件)
- 2025監(jiān)理工程師教材水利
- 江蘇高中英語牛津譯林版新教材必修一詞匯(默寫版)
- 人教版六年級上冊數(shù)學(xué)期中考試試卷完整版
評論
0/150
提交評論