Python程序設(shè)計(jì)實(shí)踐 教案全套 張銀南 第1章 Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與要求-實(shí)驗(yàn)22 字符串應(yīng)用_第1頁(yè)
Python程序設(shè)計(jì)實(shí)踐 教案全套 張銀南 第1章 Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與要求-實(shí)驗(yàn)22 字符串應(yīng)用_第2頁(yè)
Python程序設(shè)計(jì)實(shí)踐 教案全套 張銀南 第1章 Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與要求-實(shí)驗(yàn)22 字符串應(yīng)用_第3頁(yè)
Python程序設(shè)計(jì)實(shí)踐 教案全套 張銀南 第1章 Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與要求-實(shí)驗(yàn)22 字符串應(yīng)用_第4頁(yè)
Python程序設(shè)計(jì)實(shí)踐 教案全套 張銀南 第1章 Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與要求-實(shí)驗(yàn)22 字符串應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩459頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《Python程序設(shè)計(jì)實(shí)踐教程》課程教案教學(xué)目的:1.掌握Python編程基礎(chǔ):通過(guò)實(shí)驗(yàn)熟悉Python的基本語(yǔ)法、數(shù)據(jù)類(lèi)型、控制結(jié)構(gòu)及函數(shù)使用,為后續(xù)復(fù)雜編程任務(wù)打下堅(jiān)實(shí)基礎(chǔ)。2.培養(yǎng)邏輯思維與問(wèn)題解決能力:通過(guò)實(shí)驗(yàn)設(shè)計(jì),引導(dǎo)學(xué)生分析問(wèn)題、設(shè)計(jì)算法并實(shí)現(xiàn)解決方案,提升邏輯思維與編程實(shí)踐能力。3.強(qiáng)化代碼規(guī)范與編程習(xí)慣:強(qiáng)調(diào)代碼的可讀性、模塊化與注釋規(guī)范,幫助學(xué)生養(yǎng)成良好的編程習(xí)慣,為團(tuán)隊(duì)協(xié)作與項(xiàng)目開(kāi)發(fā)奠定基礎(chǔ)。4.掌握程序測(cè)試與調(diào)試方法:學(xué)習(xí)單元測(cè)試、調(diào)試工具及異常處理技術(shù),確保程序的正確性與魯棒性,提高代碼質(zhì)量。5.了解學(xué)習(xí)策略與課程目標(biāo):提供學(xué)習(xí)建議與課程規(guī)劃指導(dǎo),幫助學(xué)生明確學(xué)習(xí)方向,掌握高效的學(xué)習(xí)方法,為后續(xù)課程與實(shí)踐做好準(zhǔn)備。6.為后續(xù)課程與實(shí)踐奠定基礎(chǔ):通過(guò)實(shí)驗(yàn)積累編程經(jīng)驗(yàn),為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)及實(shí)際項(xiàng)目開(kāi)發(fā)提供必要的技能支持。課型:新授課本章安排4個(gè)課時(shí)。教學(xué)重點(diǎn):1.了解Python程序設(shè)計(jì)實(shí)驗(yàn)的目的和基本要求。2.掌握程序的編寫(xiě)與測(cè)試的相關(guān)內(nèi)容。教學(xué)難點(diǎn):難點(diǎn):Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與要求在于通過(guò)實(shí)踐掌握Python語(yǔ)法、數(shù)據(jù)結(jié)構(gòu)與算法,培養(yǎng)解決實(shí)際問(wèn)題的編程能力,同時(shí)注重代碼規(guī)范與調(diào)試技巧的提升。教學(xué)過(guò)程:1.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。2.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):1理論課口討論課□習(xí)題課口其他□41.《Python程序設(shè)計(jì)實(shí)踐教程》。2.本教材配套視頻教程及學(xué)習(xí)檢查等資源。3.與本課程相關(guān)的其他資源。都聽(tīng)說(shuō)過(guò)這句話。其實(shí),任何技能的學(xué)習(xí)都是從模仿開(kāi)始的,培養(yǎng)編程能力當(dāng)然也要從閱讀大量示例程序入手。但是,僅僅能看懂示例程序距離真正掌握程序設(shè)計(jì)方法還有1.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式程者的實(shí)踐經(jīng)驗(yàn)積累。期目標(biāo),必須遵循相應(yīng)的語(yǔ)法規(guī)則。單憑記憶很難掌握枯加深對(duì)語(yǔ)法規(guī)則的理解,并最終掌握程序設(shè)計(jì)方法。1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知(4)培養(yǎng)良好的編程習(xí)慣。風(fēng)格良好的程序往往是清晰、(5)熟悉Python程序的集成開(kāi)發(fā)環(huán)境。目前,程序設(shè)計(jì)基本都是在某種集成開(kāi)發(fā)環(huán)境(IDE,IntegratedEnvironment)中進(jìn)行的,選擇一種主流的發(fā)環(huán)境,具體操作請(qǐng)參閱第二篇實(shí)驗(yàn)0中的內(nèi)容。1.2Python程序設(shè)計(jì)實(shí)驗(yàn)的基本要求為了提高實(shí)驗(yàn)效果,實(shí)驗(yàn)過(guò)程中應(yīng)處理好以1.實(shí)驗(yàn)前的準(zhǔn)備工作(2)根據(jù)實(shí)驗(yàn)內(nèi)容,預(yù)先設(shè)計(jì)算法并編寫(xiě)主要代(3)準(zhǔn)備測(cè)試數(shù)據(jù)。2.實(shí)驗(yàn)中的測(cè)試工作(1)不要只測(cè)試一組數(shù)據(jù),應(yīng)當(dāng)考慮程序運(yùn)行時(shí)可能出現(xiàn)(2)面對(duì)出現(xiàn)的各種錯(cuò)誤,不要灰心,這是初學(xué)者在編程過(guò)(3)盡量嘗試自己解決問(wèn)題,這樣更有利于總結(jié)經(jīng)(4)請(qǐng)教師幫助分析錯(cuò)誤時(shí),注意總結(jié)分析錯(cuò)誤原因,使自己今后再次面對(duì)同類(lèi)問(wèn)題時(shí)能舉一反三。3.實(shí)驗(yàn)后的總結(jié)工作(1)自我審查本次實(shí)驗(yàn)是否達(dá)到預(yù)期目標(biāo)。(2)認(rèn)真整理實(shí)驗(yàn)報(bào)告,包括以下幾部分。1.3程序的編寫(xiě)與測(cè)試1.語(yǔ)法錯(cuò)誤語(yǔ)法錯(cuò)誤是指不遵循Python的語(yǔ)法結(jié)構(gòu)引起的錯(cuò)誤,例如括號(hào)不成對(duì)使用等。如果程序中出現(xiàn)語(yǔ)法錯(cuò)誤,Pyt(1)缺少某些必要的符號(hào)(冒號(hào)、括號(hào)等(2)關(guān)鍵字拼寫(xiě)錯(cuò)誤。(3)縮進(jìn)不正確。2.語(yǔ)義錯(cuò)誤有拋出錯(cuò)誤信息,但得到的結(jié)果是錯(cuò)誤的,或者不是所期望的結(jié)果。這類(lèi)錯(cuò)誤可能是因?yàn)樗惴ㄔO(shè)計(jì)錯(cuò)誤,也可能是因?yàn)樗惴ㄕ_而編寫(xiě)程序時(shí)出現(xiàn)差錯(cuò)。(1)運(yùn)算符優(yōu)先級(jí)考慮不周。(2)變量名使用不正確。3.運(yùn)行錯(cuò)誤(1)除數(shù)為0(ZeroDivisionError)。(2)打開(kāi)的文件不存在(FileNotFoundErro(3)導(dǎo)入的模塊沒(méi)被找到(ImportErr的數(shù)據(jù)顯示在屏幕上;設(shè)置斷點(diǎn),單步運(yùn)行程序。1.4人才培養(yǎng)與課程學(xué)習(xí)建議1.人才培養(yǎng)會(huì)主義現(xiàn)代化國(guó)家的基礎(chǔ)性、戰(zhàn)略性支撐。報(bào)告指出,我們建設(shè)教育強(qiáng)國(guó)、科技強(qiáng)國(guó)、人才強(qiáng)國(guó),堅(jiān)持為黨育人、為國(guó)育才,全面提高人才自主培養(yǎng)質(zhì)量,著力造就拔尖創(chuàng)新人才,聚天下英才而用之。注重培養(yǎng)讀者的應(yīng)用能力,加大案例篇幅,豐富實(shí)訓(xùn)內(nèi)容,時(shí)代特點(diǎn)的有擔(dān)當(dāng)、有作為的應(yīng)用型、復(fù)合型新工科人才。2.新時(shí)代青年的使命擔(dān)當(dāng)(1)從科技發(fā)展史來(lái)看,新時(shí)代青年要發(fā)揚(yáng)斗爭(zhēng)精神,增強(qiáng)斗爭(zhēng)本領(lǐng),堅(jiān)持團(tuán)結(jié)奮斗,依靠頑強(qiáng)斗爭(zhēng)打開(kāi)事業(yè)發(fā)展新天發(fā)展對(duì)國(guó)力的重要性,為實(shí)現(xiàn)中華民族偉大復(fù)興而認(rèn)真學(xué)習(xí)。(2)新時(shí)代青年要增強(qiáng)民族自信心,應(yīng)厚植愛(ài)國(guó)主義情懷,(3)當(dāng)今世界,新一代信息技術(shù)已成為信息化社會(huì)不可或缺的基礎(chǔ)設(shè)施,計(jì)算機(jī)軟件開(kāi)發(fā)和應(yīng)用不再僅僅是程序員新時(shí)代青年要提升自身的數(shù)字素養(yǎng),要敢于思考、敢于創(chuàng)新、敢于標(biāo)新立異,要想辦法做新的、比別人強(qiáng)的東西。3.學(xué)習(xí)建議怎樣才能學(xué)好Python語(yǔ)言呢?最關(guān)鍵的一條是要實(shí)踐。能不斷提高。初學(xué)者要遵循“看一看、想一想、寫(xiě)一寫(xiě)、用一用”的思路,從“照貓畫(huà)貓”到"照貓畫(huà)虎”再到“學(xué)以致用”。下面介紹一些學(xué)習(xí)規(guī)范。(1)養(yǎng)成良好的編程習(xí)慣,遵循以下步驟。①上機(jī)實(shí)踐前構(gòu)思程序設(shè)計(jì)思路,認(rèn)真思考。注重認(rèn)識(shí)問(wèn)②用心設(shè)計(jì),遵循Python的編程規(guī)范,一絲不茍,哪怕③每次上機(jī)實(shí)踐后及時(shí)總結(jié),把沒(méi)有搞清楚的問(wèn)題記錄下(2)閱讀、借鑒別人設(shè)計(jì)好的程序。讀者經(jīng)常有這樣的體種錯(cuò)誤。如果遇到問(wèn)題,通過(guò)已有的知識(shí)不能解決,則可以去后面的章節(jié)或其他資料中尋找。這樣,編程水平才能不斷提高。(3)注重實(shí)踐訓(xùn)練。"Python程序設(shè)計(jì)"是一門(mén)對(duì)動(dòng)手能做題練習(xí)時(shí)不能直接復(fù)制代碼、提交、判題,而應(yīng)該參考書(shū)中的實(shí)現(xiàn)步驟,自己做一遍。之后可以根據(jù)自己對(duì)知識(shí)點(diǎn)的理解,對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行練習(xí)。"百聞不如一見(jiàn),百看不如一試",學(xué)習(xí)編程要注重實(shí)踐,只有實(shí)踐才能掌握人機(jī)交流的方法和技巧,體會(huì)調(diào)試程序(4)Python語(yǔ)言雖然容易上手,并具有眾多優(yōu)點(diǎn),但要學(xué)好并熟練應(yīng)用于實(shí)際問(wèn)題并非易事。學(xué)習(xí)的過(guò)程永遠(yuǎn)不可能一帆風(fēng)順,有樂(lè)趣同時(shí)必然有坎坷,讀者要有非常強(qiáng)的耐心和實(shí)踐精神,養(yǎng)成一絲不茍、刻苦鉆研的工匠精神和求真務(wù)實(shí)的科學(xué)精神。(5)注重培養(yǎng)團(tuán)隊(duì)協(xié)作精神。同學(xué)之間要相互討論,培養(yǎng)團(tuán)隊(duì)協(xié)作精神和溝通交流能力,切實(shí)感受合作、責(zé)任、誠(chéng)信等職業(yè)素養(yǎng)的內(nèi)涵,打牢成長(zhǎng)的思想根基。本章圍繞Python程序設(shè)計(jì)實(shí)驗(yàn)的目的與要求的核心目標(biāo)與具體內(nèi)容。首先,通過(guò)實(shí)驗(yàn)幫助學(xué)生掌握Python的基本語(yǔ)法、數(shù)據(jù)結(jié)構(gòu)與編程技巧,培養(yǎng)邏輯思維與問(wèn)題解本章還提供了學(xué)習(xí)策略與課程規(guī)劃建議,幫助學(xué)生明確學(xué)習(xí)方向,提升學(xué)習(xí)效率。最終,本章旨在為學(xué)生奠定扎實(shí)的編程基礎(chǔ),為后續(xù)課程學(xué)習(xí)與實(shí)踐應(yīng)用做好充分準(zhǔn)備,同時(shí)培養(yǎng)其獨(dú)立解決問(wèn)題的能力和團(tuán)隊(duì)協(xié)作精《Python程序設(shè)計(jì)實(shí)踐教程》課程教案教學(xué)目的:1.理解計(jì)算的基本概念與原理:通過(guò)計(jì)算概述,幫助學(xué)生理解計(jì)算的定義、發(fā)展歷程及其在問(wèn)題求解中的核心作用,為后續(xù)學(xué)習(xí)奠定理論基礎(chǔ)。2.掌握問(wèn)題求解的基本方法與步驟:通過(guò)求解計(jì)算機(jī)問(wèn)題的講解,培養(yǎng)學(xué)生分析問(wèn)題、分解問(wèn)題并設(shè)計(jì)解決方案的能力,提升實(shí)際問(wèn)題求解的效率與準(zhǔn)確性。3.培養(yǎng)計(jì)算思維的核心能力:重點(diǎn)闡述計(jì)算思維的內(nèi)涵,包括抽象、分解、模式識(shí)別和算法設(shè)計(jì)等核心能力,使學(xué)生能夠運(yùn)用計(jì)算思維解決復(fù)雜問(wèn)題。4.掌握算法的基本概念與設(shè)計(jì)方法:介紹算法的定義、特性及設(shè)計(jì)步驟,幫助學(xué)生理解算法在問(wèn)題求解中的重要性,并能夠設(shè)計(jì)簡(jiǎn)單高效的算法。5.理解常見(jiàn)數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用:講解數(shù)據(jù)結(jié)構(gòu)的基本概念與常見(jiàn)類(lèi)型(如數(shù)組、鏈表、棧、隊(duì)列等),幫助學(xué)生理解數(shù)據(jù)結(jié)構(gòu)在算法設(shè)計(jì)與問(wèn)題求解中的關(guān)鍵作用。6.掌握算法評(píng)價(jià)的標(biāo)準(zhǔn)與方法:介紹算法評(píng)價(jià)的指標(biāo)(如時(shí)間復(fù)雜度、空間復(fù)雜度)與方法,使學(xué)生能夠分析算法的效率并選擇最優(yōu)解決方案。7.為后續(xù)編程實(shí)踐與復(fù)雜問(wèn)題求解奠定基礎(chǔ):通過(guò)本章的學(xué)習(xí),學(xué)生能夠從計(jì)算的角度分析問(wèn)題,設(shè)計(jì)合理的算法與數(shù)據(jù)結(jié)構(gòu),并具備評(píng)價(jià)算法效率的能力,為后續(xù)編程實(shí)踐與復(fù)雜問(wèn)題求解提供理論支持與方法指導(dǎo)。課型:新授課本章安排8個(gè)課時(shí)。教學(xué)重點(diǎn):1.了解計(jì)算概述。2.掌握計(jì)算機(jī)解題的特性、應(yīng)用步驟等相關(guān)內(nèi)容。3.掌握計(jì)算思維及算法。4.了解數(shù)據(jù)結(jié)構(gòu)的定義及常用的數(shù)據(jù)結(jié)構(gòu)。5.了解算法評(píng)價(jià)的相關(guān)內(nèi)容。教學(xué)難點(diǎn):難點(diǎn):本章教學(xué)難點(diǎn)在于如何將實(shí)際問(wèn)題抽象為計(jì)算模型,并設(shè)計(jì)出高效、正確的算法,同時(shí)掌握數(shù)據(jù)結(jié)構(gòu)的選擇與算法性能的評(píng)價(jià)方法。教學(xué)過(guò)程:3.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。4.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):?jiǎn)栴}求解與計(jì)算思維2理論課□討論課□習(xí)題課口其他口81.《Python程序設(shè)計(jì)實(shí)踐教程》。2.本教材配套視頻教程及學(xué)習(xí)檢查等資源。3.與本課程相關(guān)的其他資源。應(yīng)該具有的第三種思維方式,成為人們認(rèn)識(shí)計(jì)算機(jī)科學(xué)的新高度。計(jì)算思維是指運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念去求解算機(jī)科學(xué)家。計(jì)算思維應(yīng)成為信息社會(huì)中每個(gè)人必須具備的基本技能。1.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式思維、問(wèn)題求解策略、模式與歸納、抽象與建模、求解的評(píng)利用計(jì)算思維解決各領(lǐng)域的問(wèn)題奠定基礎(chǔ)。圓周率的計(jì)算是一個(gè)結(jié)合計(jì)算方法和計(jì)算工具的典型案了2000多年。正是由于計(jì)算方法的不斷改進(jìn)以及計(jì)算工1.幾何法時(shí)期:割圓術(shù)最早計(jì)算圓周率的方法是割圓術(shù)。魏晉時(shí)期的數(shù)學(xué)家劉徽首創(chuàng)割圓術(shù),為計(jì)算圓周率建立了嚴(yán)密的理論和完善的算出圓周率。劉徽從圓內(nèi)接正6邊形開(kāi)始,每次都把邊數(shù)加倍,直至圓內(nèi)接正96邊形,算得圓周率為157/50(即3.14)。后來(lái),他在此基礎(chǔ)上又計(jì)算出了圓內(nèi)接正3072邊形的面積,得到圓周率的近似值為3927/1250(即3.1416)。南北朝時(shí)期的數(shù)學(xué)家祖沖之進(jìn)一步求出了圓內(nèi)接正12288邊形和圓內(nèi)接正24576邊形的面積,得出3.1415926<π<3.1415927。在之后的800年里,祖沖之計(jì)算出的圓周率割圓術(shù)的煩瑣計(jì)算促使人們探索新的計(jì)算方法,通過(guò)無(wú)窮算精度迅速增加。1706年,英國(guó)數(shù)學(xué)家梅欽率先將圓周率突破百位。1948年,英國(guó)的弗格森和美國(guó)的倫奇共同發(fā)表了π的808位小數(shù)值,成為人工計(jì)算圓周率的最高紀(jì)錄。計(jì)算機(jī)的出現(xiàn)使圓周率的計(jì)算速度和精度有了突飛猛進(jìn)的發(fā)展。2011年10月16日,日本長(zhǎng)野縣飯?zhí)锸泄镜穆殕T近藤茂利用家用計(jì)算機(jī)將圓周率計(jì)算到小數(shù)點(diǎn)后10萬(wàn)隨著社會(huì)的發(fā)展與科技的進(jìn)步,出于計(jì)算時(shí)間和復(fù)雜度等因素的考量,現(xiàn)實(shí)世界中的很多問(wèn)題都需要借助計(jì)算機(jī)進(jìn)1.計(jì)算機(jī)解題的特性日常生活中有許多應(yīng)用順序流程的例子,炒菜時(shí)要根據(jù)一1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解問(wèn)2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知識(shí)的講解。定的次序投放食材與調(diào)味品;網(wǎng)絡(luò)購(gòu)物時(shí)要通過(guò)規(guī)定的步驟完成購(gòu)物過(guò)程,如選擇商品、填寫(xiě)數(shù)據(jù)、付款等;使用自金融交易方式、輸入金額等步驟。當(dāng)我們要解決的問(wèn)題比較復(fù)雜時(shí),可以將大問(wèn)題分成幾個(gè)有正確性、系統(tǒng)性、普遍性,所以大部分步驟能轉(zhuǎn)換成可以2.計(jì)算機(jī)解題的應(yīng)用計(jì)算機(jī)解題在各領(lǐng)域的應(yīng)用實(shí)例有網(wǎng)絡(luò)購(gòu)物系統(tǒng)、電子商務(wù)系統(tǒng)、搜索引擎、醫(yī)學(xué)工程系統(tǒng)、氣象預(yù)測(cè)系統(tǒng)、校務(wù)行政系統(tǒng)、電子地圖應(yīng)用、各種數(shù)學(xué)計(jì)算問(wèn)題等。(1)科學(xué)計(jì)算。科學(xué)計(jì)算是計(jì)算機(jī)應(yīng)用的一個(gè)重要領(lǐng)域高能物理、工程設(shè)計(jì)、地震預(yù)測(cè)、氣象預(yù)報(bào)、航天技術(shù)等。學(xué)科。(2)數(shù)據(jù)處理。數(shù)據(jù)處理是指通過(guò)計(jì)算機(jī)獲取、加工、處理各種數(shù)據(jù)及數(shù)據(jù)可視化,提高管理效率,如管理信息系統(tǒng)(MIS)、物資需求計(jì)劃(MRP)、企業(yè)資源計(jì)劃(ERP)、制造執(zhí)行系統(tǒng)(MES)、電子商務(wù)系統(tǒng)等。(3)計(jì)算機(jī)輔助系統(tǒng)。計(jì)算機(jī)輔助系統(tǒng)包括計(jì)算機(jī)輔助設(shè)(4)生產(chǎn)自動(dòng)化。生產(chǎn)自動(dòng)化包括工業(yè)流程控制、流水線控(5)人工智能。生產(chǎn)自動(dòng)化包括人臉識(shí)別、藥物研發(fā)、機(jī)器(6)生活出行。網(wǎng)絡(luò)信息資源的深層次利用和網(wǎng)絡(luò)應(yīng)用的3.計(jì)算機(jī)解題的基本步驟(1)問(wèn)題分析與建模實(shí)問(wèn)題的求解轉(zhuǎn)化為對(duì)抽象數(shù)學(xué)模型的求解,滿足計(jì)算機(jī)問(wèn)題分析與建模時(shí)首先要確定問(wèn)題的邏輯結(jié)構(gòu)和基本功能,然后在結(jié)合數(shù)學(xué)、物理、計(jì)算機(jī)等的基礎(chǔ)上,建立相關(guān)2.3計(jì)算思維假設(shè)有100瓶水,有1瓶是有毒的,小白鼠喝了有毒的天內(nèi)檢驗(yàn)出哪瓶水有毒?怎樣檢驗(yàn)?求解過(guò)程如圖2-6所示(現(xiàn)假設(shè)97號(hào)有毒)。(2)進(jìn)行變換,將每瓶水的編號(hào)由十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。1位二進(jìn)制數(shù)只能表示0或1(最大編號(hào)是21-1),2位二進(jìn)制數(shù)能表示0~3(最大編號(hào)是22-1),以此類(lèi)推,7位二進(jìn)制數(shù)能表示0~127(最大編號(hào)是27-1)。因此,如果要表示99,則需要7位二進(jìn)制數(shù)。由此,可想到需要7只小白鼠就可以在7天內(nèi)檢驗(yàn)出哪瓶水有問(wèn)題接著來(lái)了,怎樣讓小白鼠喝水,才能從100瓶水中判斷出哪瓶水有毒呢?小白鼠喝了有毒的水,可能很快就死亡,也可能在第7天死亡,因此一只一只試驗(yàn)也來(lái)不及。B6B5B4B3B2B1B0(Bi為0或1,i=0,1,2,…,6),7只小白鼠的編號(hào)分別是M6、M5、M4、M3、M2、M1、MO。制定規(guī)則為:如果一瓶水的Bi為0,則不讓Mi小白鼠喝水;如果Bi為1,則讓Mi小白鼠喝水。(4)將100瓶水按上述規(guī)則處理。小白鼠喝完后,等待7天,看哪只小白鼠死了。如果Mi小白鼠死了,則Mi=1,M6M5M4M3M2M1M0=1100001,就得出了有毒水瓶的二進(jìn)制數(shù)編號(hào),再還原回十進(jìn)制數(shù),便可得知97號(hào)有毒。其背后的思維邏輯是怎樣的呢?巧妙地統(tǒng)一起來(lái),如0和1可以分別表示“無(wú)毒"和“有毒"、"不喝"和“喝"、"不死”和"死"。現(xiàn)在的計(jì)算行下一次排除。解過(guò)程為:水瓶的十進(jìn)制數(shù)編號(hào)→二進(jìn)制編碼→分配給小白鼠并產(chǎn)生結(jié)果→二進(jìn)制編碼→水瓶的十進(jìn)制數(shù)編號(hào)→找里云抗住了全球最大的流量洪峰,如圖2-7所示。每年“雙11”都是一次技術(shù)“大考”,技術(shù)人員要攻克一個(gè)個(gè)難關(guān),涉及基礎(chǔ)設(shè)施、云計(jì)算、大數(shù)據(jù)、AR/VR、人工智能、物聯(lián)網(wǎng)等技術(shù)領(lǐng)域。一切關(guān)于搜索、推薦、人工智能的技術(shù)都需要計(jì)算平臺(tái)的強(qiáng)力支撐,如果不打破傳統(tǒng)Hadoop框架的“藩籬”,研發(fā)非常高效的離線物體驗(yàn)的角度探求算法對(duì)保障系統(tǒng)運(yùn)行的重要作用,介紹1.商品搜索假如你搜索一件商品,你能容忍的最長(zhǎng)等待時(shí)間是多久?對(duì)于大多數(shù)人來(lái)說(shuō),7秒是極限。物體驗(yàn)的呢?除了用到數(shù)據(jù)存儲(chǔ)技術(shù)、云計(jì)算技術(shù),還要用2.商品排序除了要讓用戶搜索到商品,還要能根據(jù)用戶的需求迅速做出反應(yīng),將品牌、銷(xiāo)量、價(jià)格、評(píng)論數(shù)進(jìn)行排序顯示,這用到了非常復(fù)雜的排序算法。3.廣告系統(tǒng)建模的預(yù)測(cè)算法、洪峰限流中的漏桶算法等。眾多問(wèn)題的求解都需要算法的支持,算法是計(jì)算機(jī)科學(xué)的核心,也是計(jì)算的靈魂,在計(jì)算機(jī)問(wèn)題的求解中具有重要的作用。1.算法概述法用計(jì)算機(jī)來(lái)解決問(wèn)題。只要把現(xiàn)實(shí)中的實(shí)際問(wèn)題描述成一種計(jì)算機(jī)可接受的算從廣義上講,算法是指通過(guò)運(yùn)算的方式,按照某種機(jī)械的步從狹義上講,算法是解決一個(gè)問(wèn)題采取的方法和步驟的描述,如圖2-8所示。不是所有算法都適合在計(jì)算機(jī)上執(zhí)行,能在計(jì)算機(jī)上執(zhí)行3.算法的特性(1)有窮性。一個(gè)算法必須在執(zhí)行有限個(gè)計(jì)算步驟后終(2)確定性。一個(gè)算法給出的每個(gè)計(jì)算步驟都必須是精確(3)有效性。算法中的每個(gè)步驟都必須被有效地執(zhí)行,并能(4)有零個(gè)或多個(gè)輸入信息。一個(gè)算法可以沒(méi)有輸入信息,也可以有一個(gè)或多個(gè)輸入信息,這些輸入信息是算法的初(5)有一個(gè)或多個(gè)輸出信息。一個(gè)算法應(yīng)有一個(gè)或多個(gè)輸用計(jì)算機(jī)求解一個(gè)問(wèn)題通常包括兩個(gè)步驟,一是發(fā)現(xiàn)潛在發(fā)現(xiàn)算法是一門(mén)富有挑戰(zhàn)性的藝術(shù),大致包括以下五個(gè)階(1)第一階段:分析、理解、抽象、歸納問(wèn)(2)第二階段:尋找一個(gè)可能解決問(wèn)題的思(3)第三階段:用數(shù)學(xué)語(yǔ)言將其表達(dá)出來(lái)。(4)第四階段:闡明算法并選用合適的數(shù)據(jù)結(jié)構(gòu),用程序?qū)?5)第五階段:評(píng)估算法的準(zhǔn)確度以及算法是否有潛力作(1)自然語(yǔ)言(2)偽代碼偽代碼是介于自然語(yǔ)言和計(jì)算機(jī)語(yǔ)言之間的文字和符號(hào)(包括數(shù)學(xué)符號(hào)),如同寫(xiě)一篇文章,自上而下地寫(xiě)下來(lái),(3)流程圖流程圖是一種傳統(tǒng)的算法表示方法,它使用不同的幾何圖形框來(lái)代表不同性質(zhì)的操作,用流程線來(lái)指示算法的執(zhí)行1.數(shù)據(jù)結(jié)構(gòu)的定義2.常用的數(shù)據(jù)結(jié)構(gòu)1.算法的評(píng)價(jià)標(biāo)準(zhǔn)2.時(shí)間復(fù)雜度3.空間復(fù)雜度為后續(xù)編程實(shí)踐與復(fù)雜問(wèn)題求解提供理論支持與方法指導(dǎo)。《Python程序設(shè)計(jì)實(shí)踐教程》課程教案教學(xué)目的:心、回溯和迭代算法的原理,幫助學(xué)生理解每種算法的核心思想及其在問(wèn)題求解中的作用,為后續(xù)算法設(shè)計(jì)與應(yīng)用奠定基礎(chǔ)。9.理解不同算法的適用場(chǎng)景與局限性:通過(guò)分析每種算法的特點(diǎn)與應(yīng)用實(shí)例,使學(xué)生能夠根據(jù)具體問(wèn)題的性質(zhì)選擇合適的算法,并理解其適用范圍與局限性,提升問(wèn)題求解的針對(duì)性與效率。10.培養(yǎng)算法設(shè)計(jì)與實(shí)現(xiàn)的能力:通過(guò)典型算法的學(xué)習(xí)與實(shí)踐,培養(yǎng)學(xué)生從問(wèn)題分析到算法設(shè)計(jì)的能力,使其能夠?qū)⒊橄髥?wèn)題轉(zhuǎn)化為具體的算法步驟,并能夠用編程語(yǔ)言實(shí)現(xiàn)算法。11.掌握遞歸與分治等高級(jí)算法的應(yīng)用:遞歸與分治算法是解決復(fù)雜問(wèn)題的重要工具,學(xué)生需要掌握其設(shè)計(jì)方法與應(yīng)用技巧,理解如何通過(guò)分解問(wèn)題與遞歸調(diào)用簡(jiǎn)化問(wèn)題求解過(guò)程。12.理解貪心與回溯算法在優(yōu)化問(wèn)題中的應(yīng)用:貪心算法通過(guò)局部最優(yōu)解逼近全局最優(yōu)解,回溯算法通過(guò)試探與回退尋找解,學(xué)生需要掌握這兩種算法在組合優(yōu)化與搜索問(wèn)題中的應(yīng)用方法。13.掌握迭代算法在數(shù)值計(jì)算中的應(yīng)用:迭代算法通過(guò)循環(huán)逐步逼近解,是數(shù)值計(jì)算與近似求解的常用方法,學(xué)生需要理解其原理并能夠應(yīng)用于實(shí)際問(wèn)題中。14.為后續(xù)復(fù)雜問(wèn)題的求解提供理論基礎(chǔ)與實(shí)踐指導(dǎo):通過(guò)本章的學(xué)習(xí),學(xué)生能夠掌握多種典型算法的設(shè)計(jì)思想與實(shí)現(xiàn)方法,為后續(xù)復(fù)雜問(wèn)題的求解提供理論支持與實(shí)踐經(jīng)驗(yàn),提升算法設(shè)計(jì)與問(wèn)題解決的綜合能力。課型:新授課本章安排6個(gè)課時(shí)。教學(xué)重點(diǎn):6.了解枚舉算法定義、特點(diǎn)、案例及思路。7.了解遞歸算法定義、特點(diǎn)、案例及思路。8.了解分治算法定義、特點(diǎn)、案例及思路。9.了解遞推算法定義、特點(diǎn)、案例及思路。10.了解貪心算法定義、特點(diǎn)、案例及思路。11.了解回溯算法定義、特點(diǎn)、案例及思路。12.了解迭代算法定義、特點(diǎn)、案例及思路。教學(xué)難點(diǎn):難點(diǎn):本章教學(xué)難點(diǎn)在于如何理解并掌握遞歸、分治、貪心等典型算法的設(shè)計(jì)思想及其適用場(chǎng)景,并能夠靈活運(yùn)用這些算法解決實(shí)際問(wèn)題。教學(xué)過(guò)程:5.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。6.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):61.《Python程序設(shè)計(jì)實(shí)踐教程》。2.本教材配套視頻教程及學(xué)習(xí)檢查等資源。3.與本課程相關(guān)的其他資源。1.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解典2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知3.算法思路第三步:使可能解的范圍降至最小,以便提4.算法案例1.算法定義遞歸算法(RecursionAlgorithm)是指把問(wèn)題轉(zhuǎn)化為同類(lèi)問(wèn)題的子問(wèn)題,然后通過(guò)遞歸調(diào)用過(guò)程(或函數(shù))表示問(wèn)題的中調(diào)用方法本身,間接遞歸是指間接地調(diào)用一個(gè)過(guò)程。2.算法特點(diǎn)的內(nèi)部直接或間接地調(diào)用自身,常用于一些有明顯遞推性遞歸算法的缺點(diǎn)是遞歸形式比非遞歸形式的3.算法思路遞歸是指把一個(gè)問(wèn)題歸結(jié)為一個(gè)或多個(gè)規(guī)模更小的子問(wèn)的操作中,前一次的輸出信息是后一次的輸入信息。③當(dāng)子問(wèn)題的規(guī)模足夠小時(shí),能直接求出該也就是說(shuō)必須具備結(jié)束遞歸的初始條件。4.算法案例3.3分治算法1.算法定義為n的問(wèn)題分解為k個(gè)規(guī)模較小的子問(wèn)題(這些子問(wèn)題相互獨(dú)立且與原問(wèn)題的性質(zhì)相同),再把子問(wèn)題分成更小的問(wèn)題解的合并。也越少。“分而治之”技巧是很多高效算法的基礎(chǔ),如排序算法(快由分治算法產(chǎn)生的子問(wèn)題往往是原問(wèn)題的較小模式,這就為使用遞歸技術(shù)提供了方便。2.算法特點(diǎn)分治算法的特點(diǎn)如下。①當(dāng)問(wèn)題的規(guī)模縮小到一定程度時(shí),就可以容易地解決。問(wèn)題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。③利用子問(wèn)題的解可以合并出問(wèn)題的最終解。包含公共的子問(wèn)題。3.算法思路分治算法一般按照以下三個(gè)步驟進(jìn)行。①分解。將要解決的問(wèn)題劃分成若干規(guī)模較小的同類(lèi)問(wèn)題。原問(wèn)題的解。4.算法案例3.4遞推算法1.算法定義法的逆過(guò)程。2.算法特點(diǎn)遞推算法的缺點(diǎn)是運(yùn)算的過(guò)程值較多(如果選擇數(shù)組結(jié)構(gòu)的話),耗用空間量較大,但如果選用簡(jiǎn)單變量通過(guò)迭代的3.算法思路遞推算法的本質(zhì)是按規(guī)律逐次推出(計(jì)算)下一步的結(jié)果,其思想是把一個(gè)復(fù)雜的、龐大的計(jì)算過(guò)程轉(zhuǎn)化為簡(jiǎn)單過(guò)程遞推算法一般按照以下三個(gè)步驟進(jìn)行。并用數(shù)學(xué)公式描述出來(lái)。例如,給定一個(gè)序列H0,H1,…,Hn,如果存在整數(shù)NO,當(dāng)n>NO時(shí),可以用"="(或“>"“<”)將Hn與其前面的某些項(xiàng)Hi(0<i<n)聯(lián)第二步,確定由已知的基礎(chǔ)數(shù)據(jù)可以遞推出后面的數(shù)據(jù)。少,以便提高解題效率。4.算法案例1.算法定義貪心算法(GreedyAlgorithm)將問(wèn)題的求解過(guò)程看作一系列選擇,它所作的每一個(gè)選擇都是當(dāng)前狀態(tài)下某種意義上的最優(yōu)解(即貪心選擇),并期望通過(guò)每次所作的貪心選擇(局部最優(yōu)解)導(dǎo)致最終結(jié)果是問(wèn)題的一個(gè)最優(yōu)解或近似最2.算法特點(diǎn)②隨著算法的進(jìn)行,將積累起其他兩個(gè)集合,一個(gè)包含已經(jīng)被考慮過(guò)并被選出的候選對(duì)象,另一個(gè)包含已經(jīng)被考慮③有一個(gè)函數(shù)來(lái)檢查一個(gè)候選對(duì)象的集合是否提供了問(wèn)④還有一個(gè)函數(shù)檢查是否一個(gè)候選對(duì)象的集合是可行的,即是否可能往該集合上添加更多的候選對(duì)象以獲得一個(gè)解。和上一個(gè)函數(shù)一樣,此時(shí)不考慮解決方法的最優(yōu)性。3.算法思路④把子問(wèn)題的局部最優(yōu)解合成原來(lái)問(wèn)題的一個(gè)解。度標(biāo)準(zhǔn)作貪心處理所得到該量度意義下的最優(yōu)解并不是問(wèn)效。4.算法案例1.算法定義回溯算法(Back-TrackingAlgorithm)是一搜索到某一步時(shí),發(fā)現(xiàn)原先的選擇并不"優(yōu)"或達(dá)不到目2.算法特點(diǎn)回溯算法其實(shí)就是一種枚舉算法。不過(guò)回溯算法使用剪枝函數(shù),剪去一些不可能到達(dá)最終狀態(tài)(即答案)的節(jié)點(diǎn),從3.算法思路回溯算法實(shí)際上是廣度與深度結(jié)合的搜索方法,深度搜索搜索。4.算法案例1.算法定義2.算法特點(diǎn)①確定迭代變量。②建立迭代關(guān)系式。③對(duì)迭代過(guò)程進(jìn)行控制,確定在什么時(shí)候結(jié)3.算法思路對(duì)于要求解的值,由一個(gè)給定的初值,通過(guò)某一算法(迭代公式)可求得新值,通常該新值比初值更接近要求解的值,再由新值按照同樣的算法求得另一個(gè)新值,這樣經(jīng)過(guò)有限次迭代即可求得其解。4.算法案例教學(xué)目的:1.掌握Python開(kāi)發(fā)環(huán)境的搭建與配置:通過(guò)詳細(xì)講解Python解釋器的安裝與配置過(guò)程,幫助學(xué)生掌握如何正確設(shè)置Python開(kāi)發(fā)環(huán)境,確保能夠順利運(yùn)行Python程序,為后續(xù)2.熟悉Python解釋器的使用方法:介紹Python解釋器的基本功能與使用技巧,使學(xué)3.掌握第三方庫(kù)的安裝與配置方法:通過(guò)pip工具的使用,幫助學(xué)生掌握第三方庫(kù)的4.了解其他主流開(kāi)發(fā)環(huán)境的安裝與配置:簡(jiǎn)要介紹Anaconda、PyCharm、Jupyter5.培養(yǎng)開(kāi)發(fā)工具的使用能力與問(wèn)題解決能力:通過(guò)實(shí)踐操作,學(xué)生能夠熟練使用6.為后續(xù)編程實(shí)驗(yàn)與項(xiàng)目開(kāi)發(fā)做好準(zhǔn)備:通過(guò)本穩(wěn)定的Python開(kāi)發(fā)環(huán)境,為后續(xù)編程實(shí)驗(yàn)、算法實(shí)現(xiàn)及項(xiàng)目開(kāi)發(fā)提供技術(shù)支持與保障。課型:新授課本章安排2個(gè)課時(shí)。教學(xué)重點(diǎn):2.熟悉并掌握Python開(kāi)發(fā)環(huán)境IDLE的使用方法。教學(xué)難點(diǎn):難點(diǎn):本章教學(xué)難點(diǎn)在于如何解決Python環(huán)境配置過(guò)程中可能出現(xiàn)的依賴(lài)沖突、路徑教學(xué)過(guò)程:7.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。8.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):2系統(tǒng)的理論學(xué)習(xí)與實(shí)踐操作,幫助學(xué)生掌握Python編程的內(nèi)容涵蓋Python環(huán)境配置、基本語(yǔ)法、典型算法、數(shù)據(jù)結(jié)能夠熟練運(yùn)用Python解決實(shí)際問(wèn)題,還能為后續(xù)深入學(xué)習(xí)計(jì)算機(jī)科學(xué)相關(guān)課程奠定堅(jiān)實(shí)基礎(chǔ),為未來(lái)的技術(shù)發(fā)展與職業(yè)規(guī)劃提供有力支持。讓我們一起開(kāi)啟Python編程的學(xué)習(xí)之旅,探索計(jì)算世界的無(wú)限可能!1.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知dthelatestversionfss請(qǐng)讀者根據(jù)操作系統(tǒng)的版本(32位或64位)選擇正確的在自定義安裝界面中,勾選"Addpython.exetoPath"選項(xiàng),將Python解釋器的路徑添加到系統(tǒng)路徑中。(3)如果需要第三方庫(kù),可以在cmd命令行窗口中運(yùn)行“pipinstall庫(kù)名”命令,安裝第三方庫(kù)。(4)Python的安裝包自帶命令行交互環(huán)境和IDLE集成開(kāi)發(fā)環(huán)境,如果需要其他集成開(kāi)發(fā)環(huán)境(如PyCharm、2.Python解釋器及其使用(1)進(jìn)入命令行窗口,輸入“Python”,看到“>>>”提示符就說(shuō)明處于交互模式,如圖0-2所示。請(qǐng)?jiān)?>>>"提示符后輸入以下語(yǔ)句,觀察輸出結(jié)(2)打開(kāi)IDLE開(kāi)發(fā)環(huán)境,依次選擇"File"→"NewFile"選項(xiàng),可以輸入代碼,也可以通過(guò)文件模式編寫(xiě)Python程序,如圖0-3所示。Python3.9.10(tags/v3.9.10:f2f3f53,Jan172022,15:14:21)[MSCv.192964bType"help","copyright","credits"or"licenseO"for提示:開(kāi)發(fā)一個(gè)Python程序,一般包括啟動(dòng)Python、新建文件、編寫(xiě)程序、保存程序、運(yùn)行程序等步驟。3.第三方庫(kù)的安裝與配置包管理器是一種可以簡(jiǎn)化安裝過(guò)程、高效管理依賴(lài)關(guān)系、進(jìn)行版本控制的工具。pip是管理Python第三方庫(kù)的重要工具,它不僅可以查看已安裝的Python第三方庫(kù)列表,還可以安裝、升級(jí)、卸載Python第三方庫(kù)。常用的pip命令如表0-1所示。提示:(1)pip命令需要在命令行窗口中運(yùn)行,直接用“pipinstall庫(kù)名”命令安裝即可;(2)要搜索、下載相關(guān)的whl文件,在命令行窗口中切換到該文件的目錄下,輸入以下命令即可。pipinstall庫(kù)名的第三方庫(kù)pipupgrade庫(kù)名pipuninstall庫(kù)名4.其他主流開(kāi)發(fā)環(huán)境的安裝與配置Anaconda是一款方便的Python包管理和環(huán)境管理軟件,預(yù)裝了許多常用的Python庫(kù),包括numpy、pandas等。同時(shí),Anaconda捆綁了兩個(gè)好用的交互式代碼編輯器Spyder和JupyterNotebook是基于網(wǎng)頁(yè)的用于交互計(jì)算的應(yīng)用程序,可被應(yīng)用于全過(guò)程計(jì)算、開(kāi)發(fā)、編寫(xiě)文檔、運(yùn)行代碼、展示Anaconda的下載頁(yè)面如圖0-4所示。PyCharm是一款功能強(qiáng)大的Python編輯器,具有集成單元測(cè)試、代碼檢測(cè)、集成版本控制、代碼重構(gòu)、突出顯示等功能,同時(shí)具有跨平臺(tái)性。Professional表示專(zhuān)業(yè)版,需要付費(fèi)使用;Community表示Theworld'smostpopularosourcePythondistributio圖0-4Anaconda的下載頁(yè)面 m圖0-5PyCharm的下載頁(yè)面二、實(shí)例解析編寫(xiě)一個(gè)Python程序,另存為sl0-1.py。要求輸入名字,在便地創(chuàng)建、運(yùn)行、測(cè)試、調(diào)試Python程序。①啟動(dòng)PythonIDLE。name=input("請(qǐng)輸入名字:")print(f"你好,{name}")#第一個(gè)Python程序,用Python(3)思考與討論①Python的內(nèi)置函數(shù)print()用于輸出數(shù)據(jù),本例中的print(f"你好,{name}")表示輸出雙引號(hào)中的行。②Python中的字符串常量可以用雙引定符。③在Python中,“#”表示單行注釋?zhuān)串?dāng)始都是注釋。注釋被編譯器及解釋器視作空白,但讀程序的性。配對(duì)使用的三個(gè)雙引號(hào)(""")或三個(gè)單引號(hào)(")用作多行注釋。④修改程序,輸入以下代碼,運(yùn)行并分析結(jié)name=input("請(qǐng)輸入你的名字:")print(f"你好,{name}")【實(shí)例0-2】求兩個(gè)整數(shù)的和(1)輸入格式在一行中輸入加數(shù),在另一行中輸入被加數(shù)。(2)輸出格式在下一行中輸出和。(3)程序代碼串,本例用int()將數(shù)據(jù)轉(zhuǎn)換為整型。②賦值運(yùn)算符“=”用于把右側(cè)的值賦給左改。請(qǐng)分析以下代碼,比較輸入方式的不同。串,分別賦值給變量a、bc=int(a)+int(b)#把字符串的成員函數(shù)split()的功能是a,b=map(int,input().【實(shí)例0-3】按輸入順序輸出信息等,然后按輸入的順序輸出學(xué)生信息。②將這些信息依次用變量保存起來(lái),即為變量賦值。ID=input("請(qǐng)輸入你的學(xué)號(hào):")name=input("請(qǐng)輸入你的姓名:")email=input("請(qǐng)輸入你的郵箱賬號(hào):")age=input("請(qǐng)輸入你的年齡:")height=input("請(qǐng)輸入你的身高:")print("你的學(xué)號(hào)是:",ID)print("你的姓名是:",name)print("你的郵箱賬號(hào)是:",email)print("你的年齡是:",age)若要在輸出數(shù)據(jù)后加上單位(年齡為“歲",身高為“米”),1.熟悉Python的開(kāi)發(fā)環(huán)境IDLE的安裝、配置、使用方法。2.啟動(dòng)IDLE中Help菜單下的turtle樣例,研究自帶的一些演示程序。clock程序的運(yùn)行結(jié)果如圖0-6所示,f>>>str="我愛(ài)北京天安門(mén)"我愛(ài)北京天安門(mén)'(2)運(yùn)行"pipinstalljieba"命令,安裝jieba庫(kù)。>>>text='本章實(shí)驗(yàn)要求:要求學(xué)生掌握Pyt,的',安裝,方法',及',第三方',庫(kù),的',安裝,'方法'] print(calendar.month(20textcal=calendar.TextC本章主要介紹了Python開(kāi)發(fā)環(huán)境的配置過(guò)高效、便捷的編程環(huán)境。首先,詳細(xì)講解了Python解釋器的安裝與使用方法,包括如何下載、安裝及配置Python解釋行Python程序。其次,介紹了第三方庫(kù)的安具安裝常用庫(kù),并解決可能遇到的依賴(lài)問(wèn)題。此外,還簡(jiǎn)要介紹了其他主流開(kāi)發(fā)環(huán)境(如Anaconda、PyCharm、JupyterNoteb置,幫助學(xué)生根據(jù)需求選擇合適的開(kāi)發(fā)工具。通過(guò)本章熟練掌握Python開(kāi)發(fā)環(huán)境的搭建與配置,為后續(xù)編程實(shí)驗(yàn)與項(xiàng)目開(kāi)發(fā)奠定基礎(chǔ),同時(shí)提升對(duì)開(kāi)發(fā)工具的使用能力與問(wèn)《Python程序設(shè)計(jì)實(shí)踐教程》課程教案課題:數(shù)據(jù)的輸入和輸出教學(xué)目的:何從用戶獲取輸入數(shù)據(jù),并將其轉(zhuǎn)換為適當(dāng)?shù)臄?shù)據(jù)類(lèi)型(如整數(shù)、浮點(diǎn)數(shù)、字符串等),為本章安排2個(gè)課時(shí)。教學(xué)重點(diǎn):1.掌握IPO程序的編寫(xiě)方法。3.掌握Python程序中輸出數(shù)據(jù)的方法。教學(xué)難點(diǎn):難點(diǎn):本章教學(xué)難點(diǎn)在于如何正確處理用戶輸入數(shù)據(jù)的類(lèi)型轉(zhuǎn)換教學(xué)過(guò)程:9.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。10.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):數(shù)據(jù)的輸入和輸出21.《Python程序設(shè)計(jì)實(shí)踐教程》。2.本教材配套視頻教程及學(xué)習(xí)檢查等資源。3.與本課程相關(guān)的其他資源。開(kāi)啟計(jì)算世界的無(wú)限可能!1.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解數(shù)2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知input()函數(shù)默認(rèn)接收字符串類(lèi)型,可以利用eval()函數(shù)轉(zhuǎn)換成數(shù)值類(lèi)型。另外,可以利用map()、sp內(nèi)置函數(shù)map(func,序列)可以把一個(gè)函數(shù)依次映射到序列或迭代器對(duì)象的每個(gè)元素上,并返回一個(gè)map對(duì)象作為結(jié)果,map對(duì)象中的每個(gè)元素是原序列中的對(duì)應(yīng)元素經(jīng)函數(shù)處理后的結(jié)果。print([object1,.[,sep=(2)用“%”格式化輸出內(nèi)容的基本格式如 (3)搭配format()函數(shù)進(jìn)行格式化輸出。(4)Python3.8之后的版本支持用f-string格式輸出。【實(shí)例1-1】多次求兩個(gè)整數(shù)之和(1)輸入格式入N組數(shù)據(jù)。每組輸入兩個(gè)整數(shù)。(2)輸出格式整數(shù)之和。(3)輸入樣例2(4)輸出樣例37(5)問(wèn)題分析①輸入方式:a,b=input().split(),將2個(gè)數(shù)據(jù)用空格分開(kāi)。②把輸入的2個(gè)字符串轉(zhuǎn)換為整型,才能進(jìn)行加法運(yùn)(6)程序代碼N=int(input())后應(yīng)有冒號(hào)a,b=input().split()#輸入2個(gè)字符串給c①輸入變量時(shí),每個(gè)變量可以分開(kāi)寫(xiě),也可以合在一起寫(xiě)。據(jù),再一次性輸出所有結(jié)果,只要每組輸入數(shù)據(jù)都得到相應(yīng)的預(yù)期結(jié)果即可。③Python的內(nèi)置函數(shù)range(N)相當(dāng)于range(0,N,1),用于產(chǎn)生一個(gè)長(zhǎng)度為N的數(shù)列。也就是說(shuō),foriinrange(N)表示i干語(yǔ)句構(gòu)成的循環(huán)體。入兩個(gè)整數(shù)。a,b=input().split()#輸入2個(gè)字符串 print(f'{a}*{b}={c})#輸出a,b=map(int,input().s②在格式化輸出語(yǔ)句print("%d*%d=%d"%(a,b,c))中,雙引號(hào)中的是格式控制串,格式字符“d”對(duì)應(yīng)整型數(shù)據(jù),輸出并置于“%”之后;而普通字符“*”和“=”直接寫(xiě)在雙引號(hào)中,輸出時(shí)會(huì)按原樣輸出。print("{0}*{1}={2}".format(a,b,c)),表示輸出時(shí)把字符串"{0}*{1}={2}"中的三個(gè)參數(shù){0}、{1}、{2}分別用成員函數(shù)format()的三個(gè)參數(shù)a、b、c的值代替,而普通字符“*”和④若成員函數(shù)format()的三個(gè)參數(shù)僅用一次,則{}中的參⑤f-string格式化輸出語(yǔ)句為print(f"{a}【實(shí)例1-3】求圓的周長(zhǎng)和面積輸入圓的半徑,輸出圓的周長(zhǎng)和面積,要求結(jié)果保留2位小數(shù)。輸入圓的半徑,利用公式計(jì)算圓的周長(zhǎng)和面#sl1-3.syr=eva(input(輸入圓的半徑:")print(f圓的周長(zhǎng)為:{c:.2f}圓的面積為:{s:.2f})#保留2位小數(shù),輸出周長(zhǎng)和面積輸入圓的半徑:1 圓的周長(zhǎng)為:6.28圓的面積為:3.14①輸入的圓的半徑是字符串,要將其轉(zhuǎn)化為數(shù)值型。內(nèi)置函數(shù)eval()可以把參數(shù)(通常是由數(shù)字字符構(gòu)成的字符串或其他類(lèi)型的數(shù)據(jù))轉(zhuǎn)換為可計(jì)算的數(shù)據(jù)類(lèi)型。②若題目要求更高精度的圓周率,則可以從數(shù)學(xué)模塊math中【實(shí)例1-4】時(shí)間的換算輸入小時(shí)數(shù)、分鐘數(shù)、秒鐘數(shù),將其轉(zhuǎn)化成秒鐘數(shù)并輸出。設(shè)3個(gè)變量hour、minute、second分別表示小時(shí)數(shù)、分鐘為整型,才能進(jìn)行數(shù)學(xué)運(yùn)算。#sl1-4.syhour=input(請(qǐng)輸入小時(shí)數(shù):")minute=input('請(qǐng)輸入分鐘數(shù):')second=input('請(qǐng)輸入秒鐘數(shù):')seconds=int(hour)*60*60+int(minute請(qǐng)輸入小時(shí)數(shù):11小時(shí)2分3秒共有3723秒①可以沒(méi)有int()和str()函數(shù)嗎?請(qǐng)調(diào)試程序,分析結(jié)果。②若輸入格式改為小時(shí)數(shù):分鐘數(shù):秒鐘數(shù),請(qǐng)修改程序。time=input(請(qǐng)輸入時(shí)間:') hour,minute,second=time.split③輸出格式可以改為f-string格式,代碼如下。hour,minute,second=map(int,input('請(qǐng)輸 print(f'{hour}小時(shí){minute}分{second}秒共有{seconds}秒)(1)標(biāo)準(zhǔn)輸入函數(shù)input()>>>frommathimportsqrt#從math庫(kù)中>>>x1,y1=input("請(qǐng)輸入第1個(gè)點(diǎn)的坐標(biāo)(用空格分隔):").split()>>>type(x1)>>>x1,y1=float(x1),>>>dis=sqrt((x1-x2)**2的距離距離(結(jié)果保留2位小數(shù))(2)標(biāo)準(zhǔn)輸出函數(shù)print()>>>name="中國(guó)共產(chǎn)黨">>>print(f"今年是{name}成立{year-1921}周年")#輸出結(jié)果為: 5.輸入直角三角形的2個(gè)直角邊的邊長(zhǎng),計(jì)算斜邊的邊長(zhǎng),曼哈頓距離是歐幾里得空間的直角坐標(biāo)系上兩點(diǎn)形成的線段對(duì)軸產(chǎn)生的投影之和。切比雪夫距離是兩點(diǎn)橫、縱坐標(biāo)差的最大值。以A(x?,y?)和B(x?,y?)兩點(diǎn)為例,a=|x?-x?|+|y?-y1|,b是|x?-x?|和|y?-y?|的最大值。現(xiàn)給出A、B兩點(diǎn)的坐標(biāo)(x?、Y?、X?、y?的取值范圍為-100~100),坐標(biāo)值為整數(shù),x和y用逗號(hào)隔開(kāi),A、B各占17.輸入一個(gè)字符,若是大寫(xiě)字母,將其轉(zhuǎn)換成小寫(xiě)字母;若是小寫(xiě)字母,將其轉(zhuǎn)換成大寫(xiě)字母;若是其他字符,按原樣輸出。學(xué)校要舉辦運(yùn)動(dòng)會(huì)了,小明要參加游泳比賽。有一天,小明發(fā)現(xiàn)自己從a時(shí)b分一直游到當(dāng)天的c時(shí)d分,請(qǐng)計(jì)算他這提示:用兩個(gè)形如"a:b"“c:d"的字符串表示時(shí)間,計(jì)算9.輸入一元二次方程的二次項(xiàng)、一次項(xiàng)、常數(shù)項(xiàng)的系數(shù)a、b、c(其中a≠0),計(jì)算并輸出2個(gè)實(shí)根。若思考:如果是虛根,如何用復(fù)數(shù)表示?10.輸入n(n≥10),求1+2+...+n。11.輸入n,求6+66+666+...+6本章主要介紹了Python中數(shù)據(jù)的輸入與輸函數(shù)(input()`)和輸出函數(shù)(print()`)的使用方法及其在實(shí)際編程交互,掌握數(shù)據(jù)處理的基本流程,為后續(xù)編程實(shí)驗(yàn)與項(xiàng)目開(kāi)發(fā)奠定基礎(chǔ),同時(shí)提升對(duì)Python基礎(chǔ)語(yǔ)法的理解與應(yīng)用能力。教學(xué)目的:1.掌握`turtle`繪圖庫(kù)的基本使用方法:通過(guò)畫(huà)布設(shè)置、畫(huà)筆參數(shù)設(shè)置及運(yùn)動(dòng)控制命令的學(xué)習(xí),幫助學(xué)生掌握'turtle`庫(kù)的核心功能,能夠使用Python繪制簡(jiǎn)單圖形。2.理解圖形繪制的基本原理與流程:通過(guò)畫(huà)筆運(yùn)動(dòng)命令(如前進(jìn)、轉(zhuǎn)向)和控制命令(如抬筆、落筆)的講解,使學(xué)生理解圖形繪制的基本邏輯與實(shí)現(xiàn)方法。3.培養(yǎng)圖形編程的興趣與能力:通過(guò)繪制各種圖形的實(shí)踐操作,激發(fā)學(xué)生對(duì)圖形編程的興趣,并培養(yǎng)其通過(guò)代碼實(shí)現(xiàn)可視化效果的能力。4.掌握畫(huà)筆參數(shù)的設(shè)置與自定義:學(xué)習(xí)畫(huà)筆顏色、粗細(xì)、速度等參數(shù)的設(shè)置方法,使學(xué)生能夠根據(jù)需求自定義繪圖效果,提升圖形繪制的靈活性與美觀性。5.理解畫(huà)布管理與圖形控制的方法:通過(guò)畫(huà)布設(shè)置與其他命令函數(shù)(如清屏、復(fù)位)的學(xué)習(xí),幫助學(xué)生掌握繪圖過(guò)程中的畫(huà)布管理與圖形控制技巧。6.為后續(xù)圖形編程與算法可視化奠定基礎(chǔ):通過(guò)本章的學(xué)習(xí),學(xué)生能夠掌握`turtle`庫(kù)的基本用法,為后續(xù)學(xué)習(xí)更復(fù)雜的圖形編程、算法可視化及交互式圖形應(yīng)用提供支持。課型:新授課本章安排2個(gè)課時(shí)。教學(xué)重點(diǎn):1.掌握turtle庫(kù)的主要函數(shù)和用法。教學(xué)難點(diǎn):難點(diǎn):本章教學(xué)難點(diǎn)在于如何通過(guò)畫(huà)筆運(yùn)動(dòng)命令與控制命令的靈活組合,精確繪制復(fù)雜圖形,并理解圖形繪制中的坐標(biāo)系統(tǒng)與角度控制。教學(xué)過(guò)程:11.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。12.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):理論課□討論課□習(xí)題課口其他口21.《Python程序設(shè)計(jì)實(shí)踐教程》。2.本教材配套視頻教程及學(xué)習(xí)檢查等資源。3.與本課程相關(guān)的其他資源。感!1.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式setup()函數(shù)的4個(gè)參數(shù)分別表示窗口寬度、窗口高度、1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知畫(huà)筆的基本參數(shù)設(shè)置函數(shù)如表2-1所示。功能設(shè)置畫(huà)筆寬度;設(shè)置畫(huà)筆顏色;色提起畫(huà)筆,用于移動(dòng)畫(huà)筆位置;與pendown()配合使用)設(shè)置畫(huà)筆移動(dòng)速度;speed為0~10的整數(shù)3.畫(huà)筆運(yùn)動(dòng)命令函數(shù)畫(huà)筆運(yùn)動(dòng)命令函數(shù)如表2-2所示。功能向當(dāng)前方向移動(dòng)distance像素向相反方向移動(dòng)distance像素向右(順時(shí)針?lè)较?轉(zhuǎn)動(dòng)angle角度)向左(逆時(shí)針?lè)较?轉(zhuǎn)動(dòng)angle角度畫(huà)圓弧;radius參數(shù)用于設(shè)置半徑;extent參數(shù)(可選)用于設(shè)置弧的角度(缺省則繪制整圓);steps參數(shù)(可選)用于確定繪制的正多將x軸移動(dòng)到指定位置;將y軸移動(dòng)到指定位置;設(shè)置當(dāng)前方向?yàn)閍ngle角度將當(dāng)前的畫(huà)筆位置設(shè)置為原點(diǎn)繪制一個(gè)指定直徑和顏色的圓點(diǎn)畫(huà)筆控制命令函數(shù)如表2-3所示。功能設(shè)置填充顏色;同時(shí)設(shè)置pencolor=color1,返回當(dāng)前是否在填充狀態(tài)開(kāi)始填充(續(xù)表)功能結(jié)束填充)隱藏畫(huà)筆)顯示畫(huà)筆5.其他命令函數(shù)其他命令函數(shù)如表2-4所示。功能改變寫(xiě)文本)或done啟動(dòng)事件循環(huán)【實(shí)例2-1】繪制紅色五角星(1)問(wèn)題分析(2)程序代碼#s12-1.sy繪制紅色五角星所繪制的紅色五角星如圖2-1所示。圖2-1紅色五角星(3)思考與討論t.pencolor("red")#設(shè)置畫(huà)t.fillcolor("yellow")#設(shè)置填充顏色t.forward(200)【實(shí)例2-2】繪制循環(huán)圓圓如圖2-2所示。大大(1)問(wèn)題分析t.circle(10)可以讓小海龜(turtle)畫(huà)出半徑為10像素(2)程序代碼#sl2-2.syt.pensize(1)#設(shè)置畫(huà)筆寬度t.speed(10)#設(shè)置畫(huà)筆移DrawCircle(i)#調(diào)用函數(shù)畫(huà)圓t.hideturtle()#隱藏畫(huà)筆(3)思考與討論t.pensize(1)#設(shè)置畫(huà)筆寬度colors=['red','green','y②將t.left(90)改為t.left(91),比較所繪制的圖形。四、實(shí)驗(yàn)內(nèi)容1.編寫(xiě)程序,繪制奧運(yùn)五環(huán)標(biāo)志,如圖2-3所示。2.繪制五角星,如圖2-4所示。3.繪制太陽(yáng)花,如圖2-5所示。圖2-4五角星圖2-5太陽(yáng)花4.繪制多個(gè)圓的螺旋聚合,如圖2-6所示。5.繪制分形樹(shù),如圖2-7所示。主干長(zhǎng)度和方向。分形樹(shù)由Y形樹(shù)多次遞歸生成,因此可以使用遞歸算法。6.繪制國(guó)際象棋棋盤(pán),如圖2-8所示。7.繪制中國(guó)象棋棋盤(pán),如圖2-9所示。圖2-6多個(gè)圓的螺旋聚合圖2-7分形樹(shù)圖2-8國(guó)際象棋棋盤(pán)圖2-10分形藝術(shù)創(chuàng)作圖片分形本質(zhì)上是遞歸,分形圖形可以使用遞歸算法實(shí)現(xiàn)。科赫曲線(KochCurve)是一種像雪稱(chēng)為雪花曲線。請(qǐng)查閱科赫曲線的資料,了解用turtle庫(kù)3階科赫曲線如圖2-11所示。圖2-113階科赫曲線本章通過(guò)turtle繪圖庫(kù)的學(xué)習(xí),幫助學(xué)生掌握Python中圖形繪制的基本方法。首先介紹了畫(huà)布設(shè)置的相關(guān)函數(shù),包括畫(huà)布大小、背景顏色等參數(shù)的配置。接著詳細(xì)講解了畫(huà)筆的基本參數(shù)設(shè)置函數(shù),如畫(huà)筆顏色、粗細(xì)、速度等,使學(xué)生能夠自定義繪圖效果。隨后,通過(guò)畫(huà)筆運(yùn)動(dòng)命令函數(shù)(如前進(jìn)、后退、轉(zhuǎn)向等)和畫(huà)筆控制命令函等),學(xué)生學(xué)會(huì)了如何控制畫(huà)筆繪制各種圖形。學(xué)生不僅能夠使用`turtle庫(kù)繪制簡(jiǎn)單圖形,還能理解圖形繪制的基本原《Python程序設(shè)計(jì)實(shí)踐教程》課程教案教學(xué)目的:1.理解Python中數(shù)據(jù)存儲(chǔ)與對(duì)象的概念:通過(guò)講解數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式以及Python中所有數(shù)據(jù)都是對(duì)象的特點(diǎn),幫助學(xué)生理解數(shù)據(jù)處理的底層機(jī)制,為后續(xù)編程實(shí)踐奠定基礎(chǔ)。3.熟悉Python中的多種數(shù)據(jù)類(lèi)型及其特點(diǎn):詳細(xì)講解數(shù)字、字符串、列表等常用數(shù)5.掌握各類(lèi)運(yùn)算符的使用方法:包括算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符等,幫助學(xué)生理解不同運(yùn)算符的功能與應(yīng)用場(chǎng)景,并能夠靈活運(yùn)用于實(shí)際問(wèn)題中。6.培養(yǎng)數(shù)據(jù)計(jì)算與處理的能力:通過(guò)表達(dá)式的編寫(xiě)與實(shí)踐,學(xué)生能夠熟練處理不同類(lèi)型的數(shù)據(jù),并掌握數(shù)據(jù)計(jì)算與轉(zhuǎn)換的技巧,為后續(xù)復(fù)雜編程任務(wù)提供支持。7.為后續(xù)編程學(xué)習(xí)與實(shí)踐奠定基礎(chǔ):通過(guò)本章的學(xué)習(xí),學(xué)生能夠理解Python中數(shù)據(jù)存儲(chǔ)與處理的基本原理,掌握表達(dá)式與運(yùn)算符的使用方法,為后續(xù)編寫(xiě)復(fù)雜程序與算法實(shí)現(xiàn)提供理論支持與實(shí)踐經(jīng)驗(yàn)。課型:新授課本章安排2個(gè)課時(shí)。教學(xué)重點(diǎn):1.掌握Python關(guān)鍵字、標(biāo)識(shí)符和變量的含義。2.掌握Python數(shù)據(jù)類(lèi)型的含義和用法。3.掌握Python常見(jiàn)運(yùn)算符和表達(dá)式的規(guī)則和用法。4.學(xué)會(huì)使用運(yùn)算符、表達(dá)式求解簡(jiǎn)單的數(shù)學(xué)問(wèn)題。5.熟悉常用的Python系統(tǒng)函數(shù)。教學(xué)難點(diǎn):難點(diǎn):本章教學(xué)難點(diǎn)在于如何理解Python中數(shù)據(jù)作為對(duì)象的概念,并掌握復(fù)雜表達(dá)式中運(yùn)算符的優(yōu)先級(jí)與結(jié)合性規(guī)則。教學(xué)過(guò)程:13.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。14.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):21.《Python程序設(shè)計(jì)實(shí)踐教程》。2.本教材配套視頻教程及學(xué)習(xí)檢查等資源。3.與本課程相關(guān)的其他資源。符與表達(dá)式的強(qiáng)大功能!1.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式3.掌握Python常見(jiàn)運(yùn)算符和表達(dá)式的二、知識(shí)要點(diǎn)1.計(jì)算機(jī)程序要處理的數(shù)據(jù)必須放入內(nèi)存中,Python中的2.Python標(biāo)識(shí)符通常用作變量、函數(shù)、類(lèi)及其他對(duì)象的名Python標(biāo)識(shí)符一般由字母、數(shù)字、下畫(huà)線構(gòu)成,且不能以數(shù)字開(kāi)頭。例如,a、A、_s、py_1等是合法的標(biāo)識(shí)符,而標(biāo)識(shí)符區(qū)分字母的大小寫(xiě)。例如,max、Max是兩個(gè)不同的3.表達(dá)式是可以進(jìn)行計(jì)算的代碼片段,由操作數(shù)和運(yùn)算符除運(yùn)算,返回商的整數(shù)部分(向下取整);“/”為普通除1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解運(yùn)2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知含特定元素,運(yùn)算結(jié)果為T(mén)rue或Fals如果一個(gè)表達(dá)式中包含多個(gè)運(yùn)算符,計(jì)算順序取決于運(yùn)算符的優(yōu)先級(jí)和結(jié)合順序。運(yùn)算符優(yōu)先級(jí)如表3-1所示。級(jí)10函數(shù)調(diào)用口2冪3~24+正-負(fù)5*乘/除%6+加一減78&按位與9AI[1,2,3]為T(mén)rue4.Python提供了多種數(shù)據(jù)類(lèi)型,主要有布爾型、數(shù)值型、字符串、列表、元組、字典、集合等。5.常用的系統(tǒng)函數(shù)如下。Python提供了豐富的函數(shù),分為內(nèi)置函數(shù)、標(biāo)準(zhǔn)庫(kù)函數(shù)、第三方庫(kù)函數(shù)。利用函數(shù)可以快捷、高效地求解問(wèn)題。Python提供了一些內(nèi)置函數(shù),這類(lèi)函數(shù)不需要導(dǎo)入任何模塊即可直接使用,主要用于完成一些運(yùn)算符無(wú)法實(shí)現(xiàn)的運(yùn)算功能。在命令行窗口中輸入dir(builtins),即可查看所有內(nèi)置函數(shù)和內(nèi)置對(duì)象。使用help(函數(shù)名)即可查看某個(gè)函數(shù)的用法。常用的內(nèi)置函數(shù)有I/0函數(shù)、數(shù)學(xué)運(yùn)算類(lèi)內(nèi)置函數(shù)、集合操作函數(shù)等。1/0函數(shù)有input()、print()、open()等。(1)主要的數(shù)學(xué)運(yùn)算類(lèi)內(nèi)置函數(shù)數(shù)學(xué)運(yùn)算類(lèi)內(nèi)置函數(shù)可以根據(jù)用戶提供的參數(shù)計(jì)算出相應(yīng)的結(jié)果,進(jìn)行一些基本的數(shù)學(xué)運(yùn)算,如表3-2所示。函數(shù)示例果))8)四舍五入取整,n為可選參數(shù),結(jié)J8)2對(duì)數(shù)值型可迭代對(duì)象進(jìn)行求和,再加上start參數(shù);start是相加的參數(shù),如果沒(méi)有設(shè)對(duì)以上函數(shù)的說(shuō)明如下。①方括號(hào)中的是可選參數(shù),可以根據(jù)程序的需求進(jìn)行取舍。②abs(x)函數(shù)用于計(jì)算絕對(duì)值,其參數(shù)必須是數(shù)值型。如果參數(shù)是一個(gè)復(fù)數(shù),那么abs(x)函數(shù)返回的絕對(duì)值它的共軛復(fù)數(shù)乘積的平方根。>>>print(abs(8+3j))#輸出8③round(x[,n])函數(shù)是Python自帶的一個(gè)入取整。n指定要保留的小數(shù)位數(shù),如果該省略,則返回一個(gè)整數(shù)。這個(gè)轉(zhuǎn)換過(guò)程遵循"四舍六入五成雙"的規(guī)則,即小于或等于4時(shí)舍去;大于或等于6時(shí)進(jìn)位;1;5后面無(wú)有效數(shù)字時(shí),分為兩種情況進(jìn)行處理,若5前面為偶數(shù)則舍5進(jìn)1,若5前面為奇數(shù)則舍5不進(jìn)位。>>>round(9.215,2)#輸出9.21>>>round(9.2151,2)(2)常用的Python內(nèi)置函數(shù)常用的Python內(nèi)置函數(shù)如表3-3所示。函數(shù)示例串、列表、元組等)的長(zhǎng)度(元素個(gè)數(shù))5為24,用說(shuō)明的字符串bool(0.0)8用于過(guò)濾序列,返回由的新列表請(qǐng)掃描右側(cè)二維碼閱讀更詳細(xì)的用法和示例。(3)常用的標(biāo)準(zhǔn)庫(kù)函數(shù)①math庫(kù)。math庫(kù)能支持包括整數(shù)算。math庫(kù)中常用的算術(shù)運(yùn)算函數(shù)如表3-4所示。函數(shù)math.eeπ返回x的反正弦值返回x的反余弦值返回x的反正切值(續(xù)表)函數(shù)√返回以base為底數(shù)時(shí)x的對(duì)數(shù)值,只有x參數(shù)時(shí)返回Inxmath.log10(x))②random庫(kù)。隨機(jī)數(shù)可被用于數(shù)學(xué)、游經(jīng)常被嵌入算法中,以提高算法的效率和安全性。random庫(kù)中常用的函數(shù)如表3-5所示。函數(shù)間數(shù)中的隨機(jī)數(shù)從序列x中隨機(jī)選擇y個(gè)元素,以列表形式返回"種子"一般是整數(shù)。只要種子相同,每次生成的隨機(jī)數(shù)序【實(shí)例3-1】計(jì)算復(fù)利利息根據(jù)存款金額m(正整數(shù))、存期年限y(正整數(shù))、年利率r(浮點(diǎn)數(shù))計(jì)算到期的利息p(不含本金),結(jié)果保留2位小數(shù)。復(fù)利利息的計(jì)算公式為p=m×(1+r)y-m。(1)輸入格式在第一行中輸入一個(gè)正整數(shù)m(0<m<10000中輸入一個(gè)正整數(shù)y(0<y<100),在第三行中輸入一個(gè)浮點(diǎn)數(shù)r(0<r<0.5)。(2)輸出格式輸出一個(gè)浮點(diǎn)數(shù),保留2位小數(shù)。5(4)輸出樣例(5)問(wèn)題分析計(jì)算x的y次冪可以用算術(shù)運(yùn)算符“**”,即表示為x**y;(7)思考與討論入10000元,存款到期后立即將利息與本金一起存入。請(qǐng)編寫(xiě)程序計(jì)算按每次存1年和每次存5年的方式,20年后兩print(f'方案1:20年后本金、利息總和為:{capital:.2f})print(f'方案2:20年后本金、利息總和為:方案1:20年后本金、利息總和為:14287.48【實(shí)例3-2】整數(shù)的逆序輸出(如果原數(shù)字的末尾是0,則逆序輸出時(shí)去掉0)。(1)問(wèn)題分析因?yàn)椴恢朗菐孜粩?shù),因此用除以10并求余數(shù)的方法循環(huán)求出各位數(shù)字,同時(shí)統(tǒng)計(jì)位數(shù),再依次乘以10,求出逆序(2)程序代碼(3)輸出結(jié)果4(4)思考與討論②若輸入一個(gè)負(fù)整數(shù),符號(hào)位不變,而把數(shù)字倒過(guò)來(lái),如何求出逆序數(shù)?③輸入n個(gè)數(shù),然后把這n個(gè)數(shù)逆序輸出,每?jī)蓚€(gè)數(shù)之間留一個(gè)空格。應(yīng)如何設(shè)計(jì)程序?【實(shí)例3-3】天天向上的力量一年有365天,以第1天的能力值(記為1.0)為基數(shù),好好學(xué)習(xí)時(shí)能力值比前一天提高1%,不學(xué)習(xí)時(shí)由于遺忘等原因能力值比前一天下降1%。每天好好學(xué)習(xí)和每天不學(xué)習(xí),一年后能力值相差多少?(1)問(wèn)題分析冪運(yùn)算應(yīng)使用“**”運(yùn)算符,不能用“^(2)程序代碼(3)輸出結(jié)果(4)思考與討論①由運(yùn)行結(jié)果可以看出,每天努力1%,一年后將提高37倍左右。相當(dāng)驚人吧!這就是天天向上的力●分別將比率改為1%、5%,計(jì)算結(jié)果將如何改變?●一年有365天,一周有5個(gè)工作日,如果每個(gè)工作日都很努力,每天可以提高1%,僅在周末放任兩天,能力值會(huì)●如果每周工作5天,休息2天,休息一天能力值下降1%,action=math.pow((1+0.01),365)#好好學(xué)習(xí)365天inaction=math.pow(1-0.01),365)#懶惰inaction=math.pow((1-0.01)>>>2+5**-1*abs(x-y)n=eval(input("輸入1個(gè)3位數(shù):"))print(f'3位整數(shù)分別為:{a,b,c}')數(shù)字全部抹零。抹零行為可通過(guò)浮點(diǎn)數(shù)和整數(shù)的轉(zhuǎn)換實(shí)現(xiàn)。使用input()函數(shù)依次錄入金額,金額用浮點(diǎn)數(shù)表示。錄入所有選購(gòu)的商品后,對(duì)這些金額進(jìn)行相加運(yùn)算,得到一個(gè)浮點(diǎn)數(shù),再轉(zhuǎn)化為整數(shù)。有的商家會(huì)采用四舍五入的原則進(jìn)行結(jié)算,請(qǐng)編寫(xiě)這樣的程序。請(qǐng)問(wèn)商家這種行為合法嗎?4.輸入1個(gè)自然數(shù),輸出各位數(shù)字之和。可使用map()函數(shù)將每個(gè)字符依次映射為整型,然后使用5.編寫(xiě)程序,判斷輸入的年份是閏年還是平年(閏年的條件是:年份可以被4整除但不能被100整除,或者能被4006.給定三角形三條邊的邊長(zhǎng),求三角形的面積。8.一張紙的厚度是0.3毫米,假如能連續(xù)對(duì)折,那么對(duì)折n次后厚度是多少?對(duì)折多少次后,紙的厚度會(huì)超過(guò)珠穆朗瑪峰的高度?9.已知一只氣球最多能充v升氣體,如果氣球內(nèi)的氣體超過(guò)v升,氣球就會(huì)爆炸。小明每天吹一次氣,每次吹進(jìn)m升氣體。由于氣球會(huì)慢慢漏氣,到了第2天早上,發(fā)現(xiàn)少了n升氣體。若小明每天早上吹一次氣,請(qǐng)編寫(xiě)程序,計(jì)算第幾天氣球會(huì)被吹爆(要求輸入的v和m大于0,n大于或等于0,并且m大于n,否則輸出“Invalid”)?10.一個(gè)富翁與陌生人做一筆換錢(qián)生意,規(guī)則為:陌生人每天給富翁10萬(wàn)元,直到滿一個(gè)月(30天),而富翁第一天給陌生人1分,第二天給2分,第三天給4分……富翁每天給陌生人的金額是前一天的2倍,直到滿一個(gè)月。編程計(jì)算富翁給陌生人的總金額和陌生人給富翁的總金額。11.四位數(shù)3025具有特殊性質(zhì),它的前兩位數(shù)字30與后兩位數(shù)字25的和是55,而55的平方正好等于3025。請(qǐng)編程列舉出其他具有該性質(zhì)的四位數(shù)。12.以下程序可以模擬用蒙特卡羅法計(jì)算圓周率的近似值,請(qǐng)查閱蒙特卡羅法的計(jì)算原理,閱讀程序,進(jìn)行測(cè)試、分提示:在一個(gè)正方形內(nèi) 0013.宰相的麥子。了討好國(guó)王,發(fā)明了國(guó)際象棋獻(xiàn)給國(guó)王。國(guó)王非常喜歡這款何要求。達(dá)依爾指著國(guó)王面前的棋盤(pán)提出了要求:"陛下,一粒麥子,第2個(gè)小格賞我兩粒,第3個(gè)小格賞四粒,以后個(gè)小格按這樣的方法得到的麥粒都賞賜給我,我就心滿意足了。"國(guó)王聽(tīng)了達(dá)依爾這個(gè)"小小”的要求,想都沒(méi)想就滿口答應(yīng)下來(lái)。如果這時(shí)你在國(guó)王旁邊,你會(huì)不會(huì)勸國(guó)王別與古代相比,現(xiàn)代社會(huì)的生產(chǎn)力水平有了極大提高,202250000粒,請(qǐng)編程計(jì)算我國(guó)2022年糧食總產(chǎn)量(按全部是14.4個(gè)人中有1個(gè)人打碎了花瓶。A說(shuō)不是自己,B說(shuō)是C,C說(shuō)是D,D說(shuō)C撒謊。已知有3個(gè)人說(shuō)了真話,請(qǐng)根據(jù)以16.輸入a、b、c的值(其中a不等于0),求解一元二次方程ax2+bx+c=0,包括虛根。本章主要介紹了Python中的運(yùn)算符與表達(dá)式,幫助學(xué)生理解程序如何處理數(shù)據(jù)以及如何通過(guò)表達(dá)式進(jìn)行計(jì)算。首先,講解了Python中數(shù)據(jù)存儲(chǔ)的基本概念,強(qiáng)調(diào)所有數(shù)據(jù)都是對(duì)象,并通過(guò)標(biāo)行引用。接著,詳細(xì)介紹了Python中的多種數(shù)據(jù)類(lèi)型及其特點(diǎn),包括數(shù)字、字符串、列表等。隨后,重點(diǎn)講解了表達(dá)式的算符的使用方法,涵蓋了算術(shù)運(yùn)算符、比較運(yùn)算實(shí)驗(yàn),學(xué)生能夠掌握如何編寫(xiě)有效的表達(dá)式來(lái)完成各種計(jì)算任務(wù)。本章的學(xué)習(xí)為學(xué)生后續(xù)編寫(xiě)復(fù)雜程序奠定了基礎(chǔ),同時(shí)加深了對(duì)Python數(shù)據(jù)處教學(xué)目的:1.理解字符串的基本概念與特性:通過(guò)講解字符串的定義、表示方法及其不可變性,幫助學(xué)生理解字符串在Python中的存儲(chǔ)與處理方式,為后續(xù)字符串操作奠定基礎(chǔ)。2.掌握字符串的常用操作方法:包括字符串的拼接、切片、索引、遍歷等基本操作,使學(xué)生能夠靈活處理字符串?dāng)?shù)據(jù),滿足實(shí)際編程需求。3.熟悉字符串格式化與模板的使用:通過(guò)格式化字符串(如`format()`方法、f-string)的學(xué)習(xí),幫助學(xué)生掌握字符串格式化的技巧,提升代碼的可讀性與輸出效果。4.理解字符串編碼與解碼的原理:介紹字符編碼(如UTF-8、ASCII)的概念及其在字符串處理中的應(yīng)用,使學(xué)生能夠正確處理多語(yǔ)言文本與編碼轉(zhuǎn)換問(wèn)題。5.掌握字符串的常用內(nèi)置函數(shù)與方法:如`len()`、'split()'、join()`、`replace()'等,幫助學(xué)生高效處理字符串?dāng)?shù)據(jù),提升編程效率。6.培養(yǎng)字符串處理的實(shí)際應(yīng)用能力:通過(guò)實(shí)際案例與實(shí)驗(yàn),學(xué)生能夠?qū)⒆址僮鲬?yīng)用于文本處理、數(shù)據(jù)清洗等場(chǎng)景,提升解決實(shí)際問(wèn)題的能力。7.為后續(xù)文本處理與數(shù)據(jù)分析奠定基礎(chǔ):通過(guò)本章的學(xué)習(xí),學(xué)生能夠掌握字符串處理的核心技能,為后續(xù)學(xué)習(xí)文本分析、正則表達(dá)式及數(shù)據(jù)處理提供支持。課型:新授課本章安排2個(gè)課時(shí)。教學(xué)重點(diǎn):1.理解序列的基本概念。2.掌握常用的通用序列操作。3.理解字符串的概念。4.掌握字符串的常見(jiàn)操作方法。5.了解正則表達(dá)式的構(gòu)造和使用方法。教學(xué)難點(diǎn):難點(diǎn):本章教學(xué)難點(diǎn)在于如何理解字符串的不可變性,并掌握字符串操作(如切片、格式化、編碼轉(zhuǎn)換等)的高效使用方法。教學(xué)過(guò)程:15.教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。16.教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書(shū)設(shè)計(jì):字符串理論課口討論課□習(xí)題課口其他口21.銜接導(dǎo)入3.情景導(dǎo)入5.演示導(dǎo)入7.其他形式符串處理的探索之旅,解鎖文本處理的無(wú)限可能!實(shí)驗(yàn)4字符串1.理解序列的基本概念。2.掌握常用的通用序列操作。3.理解字符串的概念。4.掌握字符串的常見(jiàn)操作方法。5.了解正則表達(dá)式的構(gòu)造和使用方法。二、知識(shí)要點(diǎn)1.序列Python的序列包括字符串(str)、列表(li(tuple)、range對(duì)象。其中字符串、元組、range對(duì)象是不可變序列類(lèi)型,列表是可變序列類(lèi)型。序列的元素可以通過(guò)索引訪問(wèn),第一個(gè)元素的索引為0,第二個(gè)元素的索引為1,以此類(lèi)推;也可以反向訪問(wèn),反向訪問(wèn)的索引是負(fù)數(shù),如表4-1所示。表4-1正向索引和反向索引春夏秋冬正向索引0123反向索引序列操作符及其應(yīng)用如表4-2所示(假設(shè)s="表4-2序列操作符及其應(yīng)用示例結(jié)果回True,否則返回連接s和ts*n或成一個(gè)新序列s*2或2*s(續(xù)表)1.教學(xué)以學(xué)生學(xué)習(xí)教材的基本內(nèi)容為主,系統(tǒng)全面地了解字2.整個(gè)教學(xué)過(guò)程中,各教學(xué)點(diǎn)可根據(jù)實(shí)際情況,進(jìn)行拓展知示例結(jié)果引用序列s中索引或引用序列s中索引為i到j(luò)-1的子序列(切片),步長(zhǎng)為12.常用的序列操作函數(shù)函數(shù)示例結(jié)果刪除s或delS)(序列的長(zhǎng)度))H,)"y出現(xiàn)時(shí)的索引;若省略i、j,則返回x在整個(gè)序列中首次出現(xiàn)時(shí)的索引49s[i:j]中出現(xiàn)的次數(shù);213.字符串序列引號(hào)界定),通過(guò)下標(biāo)或序號(hào)引用字符串中的各個(gè)字符。4.字符串的常用操作算符"+"連接字符串、通過(guò)切片取子串、用運(yùn)算符“*"生成新字符串等。示例結(jié)果母母母)True,否則返回(續(xù)表)示例結(jié)果)判斷字符串是否全為數(shù)字,是則返回True,否則返回False)判斷字符串是否是則返回True,否則返回Falsee)判斷字符串是否是則返回True,否則返回Falsee在字符串中查找子串x,返回首次出現(xiàn)的位置;start和end為找不到則返回-16old子串;4將字符串以指定子串構(gòu)成的列不帶參數(shù)時(shí),默統(tǒng)計(jì)子串x在字[start,end-1]區(qū)間中出現(xiàn)的次數(shù)1iterable中的元素拼接為一個(gè)字符串(1)正則表達(dá)式簡(jiǎn)介正則表達(dá)式(RegularExpression)是一種特殊的中實(shí)現(xiàn)了正則表達(dá)式的功能,常用的元字符如表4-5所元字符說(shuō)明正則式串匹配結(jié)果匹配除換行符之外的任意字符串a(chǎn).cc*匹配“*”之前的字符出現(xiàn)0次或多次的字符串a(chǎn)bcc+匹配“+”之前的字符出現(xiàn)1次或多次的字符串—的字符串匹配以“^”后面的字符開(kāi)頭的字符串$匹配以“$”之前的字符結(jié)束的字符串?匹配“?”之前的0個(gè)或1個(gè)字符\表示位于"\"之后的a\.c匹配任何數(shù)字,相當(dāng)于C匹配任何字母、數(shù)字及下畫(huà)線,相當(dāng)于[a~z、A~Z、0~9_]C匹配“{}”前的字符出現(xiàn)m次的字符串c匹配“{}”前的字符出現(xiàn)m~n次的字符串(續(xù)表)元字符說(shuō)明正則表達(dá)式串匹配結(jié)果]7匹配[]中的任意一e,]匹配指定范圍內(nèi)的ea-c]或[c]意字符e匹配標(biāo)志能改變正則表達(dá)式的匹配行為,re模塊支持的匹配標(biāo)志如表4-6所示。表4-6re模塊支持的匹配標(biāo)志簡(jiǎn)稱(chēng)效果I匹配時(shí)不區(qū)分字母大小寫(xiě)M使點(diǎn)“.”匹配換行S符X允許使用空格和注釋一使解析器在控制臺(tái)顯示測(cè)試信息A指定匹配的ASCII編碼U字符(默認(rèn))L(2)正則表達(dá)式的使用re模塊是Python的標(biāo)準(zhǔn)庫(kù),主要用于匹配中的常用方法如表4-7所示。方法名功能描述在整個(gè)字符串中進(jìn)行匹從字符串的開(kāi)頭進(jìn)行匹列出字符串中所有匹配項(xiàng)根據(jù)匹配項(xiàng)分隔字符串將字符串中所有匹配項(xiàng))(3)正則表達(dá)式的測(cè)試除了Python,正則表達(dá)式的測(cè)試還可以使用第三方工具,特別是在線工具。【實(shí)例4-1】提取身份證號(hào)碼中的信息齡。(1)輸入樣例(2)輸出樣例男您的出生日期是2001年04月05日您的年齡是22(3)問(wèn)題分析①二代身份證號(hào)碼有18位,從左到右依次為6位地址碼、8位出生日期碼、3位順序碼、1位校驗(yàn)碼。可以用字符串的切片來(lái)提取相關(guān)數(shù)據(jù),再用“+”將幾個(gè)字符串拼接起來(lái)。驗(yàn),使用len()函數(shù)計(jì)算字符串的長(zhǎng)度并判斷是否為18位。換),代碼如下。一個(gè)字符串的字符串是否為18位print(輸入的身份證號(hào)位數(shù)錯(cuò)’)print("男")print("女")month=in_id[10:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論