Python是一門新興的編程語言,編程語言有很多,比如C++、Java、C#、PHP、JavaScript等,Python也是其中之一,在學(xué)習(xí)Python前,我們需要對它有一定的了解。

創(chuàng)新互聯(lián)建站服務(wù)項目包括平桂網(wǎng)站建設(shè)、平桂網(wǎng)站制作、平桂網(wǎng)頁制作以及平桂網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平桂網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到平桂省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Python支持多種編程范型,如函數(shù)式、指令式、結(jié)構(gòu)化、面向?qū)ο蠛头瓷涫骄幊獭?/p>
Python解釋器易于擴(kuò)展,可以使用C或C++或其他可以通過C調(diào)用的語言擴(kuò)展新的功能和數(shù)據(jù)類型。
Python編寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序,在計算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成字節(jié)碼的中間形式,然后再把它翻譯成計算機(jī)使用的機(jī)器語言并運(yùn)行。
語法簡潔而清晰,具有豐富和強(qiáng)大的類庫,使用Python快速生成程序的原型,然后對其中有特別要求的部分,用更合適的語言改寫,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴(kuò)展類庫。
只有基礎(chǔ)建牢固了,才會更利于我們以后的發(fā)展及進(jìn)步,現(xiàn)如今Python的發(fā)展十分迅速,已經(jīng)將C++語言甩在了后邊,在不久的將來,可能會超過C和Java這些主流語言。
Python編程題寫法:第一個問題使用排序算法,有很多種,可以使用簡單一點(diǎn)的冒泡排序。第二個問題為了確保是輸入了5個整數(shù),可以使用while循環(huán)+try。
假設(shè)data.txt中所有的號碼都在一行,沒有換行,寫入到data_asc.txt中時,假設(shè)每行一個,原文件中是否有換行;寫入到data_asc.txt文件中時,是一行一個;還是所有的都在一行,然后用英文逗號隔開。
Python
是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符和動態(tài)類型。相對于Lisp這種傳統(tǒng)的函數(shù)式編程語言,Python對函數(shù)式設(shè)計只提供了有限的支持。有兩個標(biāo)準(zhǔn)庫(functools, itertools)提供了Haskell和Standard ML中久經(jīng)考驗(yàn)的函數(shù)式程序設(shè)計工具。
1.(幾何學(xué):一個五邊形的面積)編寫一個程序,提示用戶輸入五邊形頂點(diǎn)到中心距離r,然后算出五邊形的面積,如下圖所示。
計算五邊形面積的公式是Area = 5×s×s/(4×tan(π/5)),這里的s是邊長。邊長的計算公式是 s =2rsin(π/5),這里的r是頂點(diǎn)到中心距離。
2.(幾何學(xué):大圓距離)大圓距離是球面上兩點(diǎn)之間的距離。假設(shè)(x1,y1)和(x2,y2)是兩點(diǎn)的經(jīng)度和緯度,兩點(diǎn)之間大圓距離可以利用以下公式計算:
d = radius * arccos(sin(x1) × sin(x2) × cos(x1) × cos(x2) × cos(y2-y1))
編寫一個程序,提示用戶輸入地球表面兩點(diǎn)經(jīng)度和緯度的度數(shù)然后顯示它們的大圓距離。地球的平均半徑為6371.01km。注意:你需要使用math. radians函數(shù)將度數(shù)轉(zhuǎn)化為弧度數(shù),因?yàn)镻ython三角函數(shù)使用的是弧度。公式中的經(jīng)緯度是西經(jīng)和北緯。用負(fù)數(shù)表示東經(jīng)和南緯。
3.(幾何學(xué):估算面積)從網(wǎng)站找到佐治亞州亞特蘭大、佛羅里達(dá)州奧蘭多、大草原佐治亞、北卡羅來納州夏洛特的GPS位置,然后計算出這四個城市所圍成的區(qū)域的大概面積。
4.(幾何學(xué):五角形的面積)五角形的面積可以使用下面的公式計算(s是邊長)
Area = (5×s2)/ (4×tan(π/5))
編寫一個程序,提示用戶輸入五邊形的邊長,然后顯示面積。
5.(幾何學(xué):一個正多邊形的面積)正多邊形是邊長相等的多邊形嗎,而且所有的角都相等。計算正多邊形面積的公式是:
Area = (n × s2)/(4×tan(π/n))
這里的s是邊長。編寫一個程序,提示用戶輸入邊數(shù)以及正多邊形的邊長,然后顯示他們的面積。
6.(找出ASCII碼的字符)編寫一個程序,接收一個ASCII碼值(一個0~127之間的整數(shù)),然后顯示它對應(yīng)的字符。例如:如果用戶輸入97,程序?qū)@示字符a。
7.(隨機(jī)字符)編寫一個程序,使用time.time()函數(shù)顯示一個大寫的隨機(jī)字符。
9.(金融應(yīng)用程序:工資表)編寫一個程序,讀取下面的信息,然后打印一個工資報表。
雇員姓名(例如:史密斯)
一周工作時間(例如:10)
每小時酬報(例如:9.75)
聯(lián)邦預(yù)扣稅率(例如:20%)
州預(yù)扣稅率(例如:9%)
10.(Turtle顯示統(tǒng)一碼)編寫一個程序,顯示希臘字母。αβγδεζηθ
11.(反向數(shù)字)編寫一個程序,提示用戶輸入一個四位整數(shù),然后顯示顛倒各位數(shù)字后的數(shù)。
python是什么類型的編程語言? Python是一種計算機(jī)程序設(shè)計語言,是一種面向?qū)ο蟮膭討B(tài)、強(qiáng)類型腳本語言(解釋型語言)。 腳本語言:一般也是解釋型語言。
優(yōu)點(diǎn)
簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。
易學(xué):Python極其容易上手,因?yàn)镻ython有極其簡單的說明文檔? ?。
易讀、易維護(hù):風(fēng)格清晰劃一、強(qiáng)制縮進(jìn)
用途廣泛
速度快:Python 的底層是用 C 語言寫的,很多標(biāo)準(zhǔn)庫和第三方庫也都是用 C 寫的,運(yùn)行速度非常快。
免費(fèi)、開源:Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團(tuán)體分享知識的概念。
高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。
可移植性:由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工作在不同平臺上)。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux開發(fā)的android平臺。
解釋性:一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個你的計算機(jī)使用的語言(二進(jìn)制代碼,即0和1)。這個過程通過編譯器和不同的標(biāo)記、選項完成。
運(yùn)行程序的時候,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復(fù)制到內(nèi)存中并且運(yùn)行。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。你可以直接從源代碼運(yùn)行 程序。
在計算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計算機(jī)使用的機(jī)器語言并運(yùn)行。這使得使用Python更加簡單。也使得Python程序更加易于移植。
面向?qū)ο螅篜ython既支持面向過程的編程也支持面向?qū)ο蟮木幊獭T凇懊嫦蜻^程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在“面向?qū)ο蟆钡恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。
Python是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符和動態(tài)類型。相對于Lisp這種傳統(tǒng)的函數(shù)式編程語言,Python對函數(shù)式設(shè)計只提供了有限的支持。有兩個標(biāo)準(zhǔn)庫(functools, itertools)提供了Haskell和Standard ML中久經(jīng)考驗(yàn)的函數(shù)式程序設(shè)計工具。
可擴(kuò)展性、可擴(kuò)充性:如果需要一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開,可以部分程序用C或C++編寫,然后在Python程序中使用它們。
Python本身被設(shè)計為可擴(kuò)充的。并非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴(kuò)充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內(nèi)。因此,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進(jìn)行集成和封裝。在Google內(nèi)部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然后用Python或Java/Go調(diào)用相應(yīng)的模塊。《Python技術(shù)手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004 年,Python 已在Google?內(nèi)部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Python where we can, C++ where we must,在操控硬件的場合使用C++,在快速開發(fā)時候使用 Python。”
可嵌入性:可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。
豐富的庫:Python標(biāo)準(zhǔn)庫確實(shí)很龐大。它可以幫助處理各種工作,包括正則表達(dá)式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。這被稱作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫以外,還有許多其他高質(zhì)量的庫,如wxPython、Twisted和Python圖像庫等等。
規(guī)范的代碼:Python采用強(qiáng)制縮進(jìn)的方式使得代碼具有較好可讀性。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。Python的作者設(shè)計限制性很強(qiáng)的語法,使得不好的編程習(xí)慣(例如if語句的下一行不向右縮進(jìn))都不能通過編譯。其中很重要的一項就是Python的縮進(jìn)規(guī)則。一個和其他大多數(shù)語言(如C)的區(qū)別就是,一個模塊的界限,完全是由每行的首字符在這一行的位置來決定(而C語言是用一對花括號{}來明確的定出模塊的邊界,與字符的位置毫無關(guān)系)。通過強(qiáng)制程序員們縮進(jìn)(包括if,for和函數(shù)定義等所有需要使用模塊的地方),Python確實(shí)使得程序更加清晰和美觀。
高級動態(tài)編程:雖然Python可能被粗略地分類為“腳本語言”(script language),但實(shí)際上一些大規(guī)模軟件開發(fā)計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態(tài)編程語言,原因是“腳本語言”泛指僅作簡單程序設(shè)計任務(wù)的語言,如shellscript、VBScript等只能處理簡單任務(wù)的編程語言,并不能與Python相提并論。
做科學(xué)計算優(yōu)點(diǎn)多:說起科學(xué)計算,首先會被提到的可能是MATLAB。除了MATLAB的一些專業(yè)性很強(qiáng)的工具箱還無法被替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相應(yīng)的擴(kuò)展庫。和MATLAB相比,用Python做科學(xué)計算有如下優(yōu)點(diǎn):
● 首先,MATLAB是一款商用軟件,并且價格不菲。而Python完全免費(fèi),眾多開源的科學(xué)計算庫都提供了Python的調(diào)用接口。用戶可以在任何計算機(jī)上免費(fèi)安裝Python及其絕大多數(shù)擴(kuò)展庫。
● 其次,與MATLAB相比,Python是一門更易學(xué)、更嚴(yán)謹(jǐn)?shù)某绦蛟O(shè)計語言。它能讓用戶編寫出更易讀、易維護(hù)的代碼。
● 最后,MATLAB主要專注于工程和科學(xué)計算。然而即使在計算領(lǐng)域,也經(jīng)常會遇到文件管理、界面設(shè)計、網(wǎng)絡(luò)通信等各種需求。而Python有著豐富的擴(kuò)展庫,可以輕易完成各種高級任務(wù),開發(fā)者可以用Python實(shí)現(xiàn)完整應(yīng)用程序所需的各種功能。
缺點(diǎn)
單行語句和命令行輸出問題:很多時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序,不需要如Python一樣,必須將程序?qū)懭胍粋€.py文件。
給初學(xué)者帶來困惑:獨(dú)特的語法,這也許不應(yīng)該被稱為局限,但是它用縮進(jìn)來區(qū)分語句關(guān)系的方式還是給很多初學(xué)者帶來了困惑。即便是很有經(jīng)驗(yàn)的Python程序員,也可能陷入陷阱當(dāng)中。
運(yùn)行速度慢:這里是指與C和C++相比。Python開發(fā)人員盡量避開不成熟或者不重要的優(yōu)化。一些針對非重要部位的加快運(yùn)行速度的補(bǔ)丁通常不會被合并到Python內(nèi)。所以很多人認(rèn)為Python很慢。不過,根據(jù)二八定律,大多數(shù)程序?qū)λ俣纫蟛桓摺T谀承\(yùn)行速度要求很高的情況,Python設(shè)計師傾向于使用JIT技術(shù),或者用使用C/C++語言改寫這部分程序。可用的JIT技術(shù)是PyPy。
和其他語言區(qū)別
對于一個特定的問題,只要有一種最好的方法來解決
這在由Tim Peters寫的Python格言(稱為The Zen of Python)里面表述為:There should be one-- and preferably only one --obvious way to do it. 這正好和Perl語言(另一種功能類似的高級動態(tài)語言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。
Python的設(shè)計哲學(xué)是“優(yōu)雅”、“明確”、“簡單”。因此,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發(fā)者中通常是難以忍受的。Python開發(fā)者的哲學(xué)是“用一種方法,最好是只有一種方法來做一件事”。在設(shè)計Python語言時,如果面臨多種選擇,Python開發(fā)者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。由于這種設(shè)計觀念的差異,Python源代碼通常被認(rèn)為比Perl具備更好的可讀性,并且能夠支撐大規(guī)模的軟件開發(fā)。這些準(zhǔn)則被稱為Python格言。在Python解釋器內(nèi)運(yùn)行import this可以獲得完整的列表。
更高級的Virtual Machine
Python在執(zhí)行時,首先會將.py文件中的源代碼編譯成Python的byte code(字節(jié)碼),然后再由Python Virtual Machine(Python虛擬機(jī))來執(zhí)行這些編譯好的byte code。這種機(jī)制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級的Virtual Machine。這里的高級并不是通常意義上的高級,不是說Python的Virtual Machine比Java或.NET的功能更強(qiáng)大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實(shí)機(jī)器的距離更遠(yuǎn)。或者可以這么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。基于C的Python編譯出的字節(jié)碼文件,通常是.pyc格式。除此之外,Python還可以以交互模式運(yùn)行,比如主流操作系統(tǒng)Unix/Linux、Mac、Windows都可以直接在命令模式下直接運(yùn)行Python交互環(huán)境。直接下達(dá)操作指令即可實(shí)現(xiàn)交互操作。
1、average_sum函數(shù)的功能為求一批數(shù)中大于平均值
sum=0
k=0
for i in range(n):
sum=sum+a[i]
average=sum/n
for i in range:
if(a[i]average):
k=k+a[i]
return k
2、編寫函數(shù)fun求一個不多于五位數(shù)的正整數(shù)的位數(shù)
if(m9999):
place=5
elif(m999):
place=4
elif(m99):
place=3
elif(m9):
place=2
else:
place=1
return place
3、請編fun函數(shù),求4*4整形數(shù)組的主對角線元素的和
sum=0.0
for i in range(4):
sum+=a[i][i]
return sum
4、已知:一元錢一瓶汽水,喝完后兩個空瓶換一瓶汽水。問:請輸入錢數(shù)(大于1的正整數(shù)),則根據(jù)錢數(shù)最多可以喝到幾瓶汽水。
s=0
k=0
while m0:
m=m-1
s=s+1
k=k+1
while k=2:
k=k-2
s=s+1
k=k+1
return s
5、編寫函數(shù)fun(x,y),函數(shù)的功能是若x、y為奇數(shù),求x到y(tǒng)之間的奇數(shù)和;若x、y為偶數(shù),則求x到y(tǒng)之間的偶數(shù)和。要求必須使用for結(jié)構(gòu)。
主函數(shù)的功能是分別計算如下的值:
(1+3+5+……+777)+(2+4+6+……+888)=???
(1+3+5+……+1111)+(2+4+6+……+2222)=???
(1+3+5+……+1999)+(2+4+6+……+1998)=???
s=0
for i in range(x,y+1,2):
s=s+i
return s
6、編寫函數(shù)main 求3!+6!+9!+12!+15!+18!+21!
s=0
for i in range(3,22,3):
r=1
for j in range(1,i+1):
r*=j
s+=r
print(s)
在所有編程語言中,函數(shù)的作用都是相似的
在開發(fā)程序的時候,某一段代碼需要執(zhí)行很多次,為了提高編寫的效率以及代碼的復(fù)用,需要把這一段代碼封裝成一個模塊,這就是函數(shù)
當(dāng)前題目:python函數(shù)程序設(shè)計,程序設(shè)計基礎(chǔ)python
當(dāng)前鏈接:http://chinadenli.net/article7/dsedcoj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、App設(shè)計、網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)