Python程序設(shè)計 第1章 順序程序設(shè)計2(第2次課).ppt_第1頁
Python程序設(shè)計 第1章 順序程序設(shè)計2(第2次課).ppt_第2頁
Python程序設(shè)計 第1章 順序程序設(shè)計2(第2次課).ppt_第3頁
Python程序設(shè)計 第1章 順序程序設(shè)計2(第2次課).ppt_第4頁
Python程序設(shè)計 第1章 順序程序設(shè)計2(第2次課).ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)編程導(dǎo)論,課程建設(shè)組 編著,2014.3,第1章順序程序設(shè)計,1.5 順序程序設(shè)計基礎(chǔ)知識 1.6 順序程序設(shè)計基礎(chǔ)知識的應(yīng)用,框圖復(fù)習(xí),框圖又稱流程圖,是表達(dá)程序設(shè)計思想和程序設(shè)計步驟的一種直觀工具。,開始,開始框用于流程的開始,結(jié)束,結(jié)束框用于流程的結(jié)束,功能框用來完成計算等功能,單分支判斷框用于解決單分支問題 例子: if x0: n=n+1,雙分支判斷框用于解決雙分支問題 例子: if x0: y=1+2*x else: y=0 print y=, y,循環(huán)框1用于解決需要反復(fù)進(jìn)行的問題。 例子1: s=1, 2, 3 for x in s: print x 例子2: i=1 s

2、=0 while i=100: s=s+i i=i+1 print s,循環(huán)框2用于解決需要反復(fù)進(jìn)行的問題。 i=1 s=0 while True: s=s+i i=i+1 if i100: break print s,輸入,輸出,輸入框向程序輸入數(shù)據(jù) 例子: x=input(x=),輸出框程序向外輸出信息 例子: print s=, s,框圖直觀且易于修改,有利于人們表達(dá)出解決問題的思想和方法。,1.5 順序程序設(shè)計基礎(chǔ)知識,1.5.1 Python的對象模型 對象是python語言中最基本的概念,在python中處理的每樣?xùn)|西都是對象。python中有許多內(nèi)置對象可供編程者使用,有些內(nèi)置對

3、象可直接使用,如數(shù)字、字符串、列表、del等;有些內(nèi)置對象需要導(dǎo)入模塊才能使用,如正弦函數(shù)sin(x),隨機(jī)數(shù)產(chǎn)生函數(shù)random( )等。,表1-1 常用內(nèi)置對象,1.5.2 python的變量和引用,1.變量的創(chuàng)建 x=3 創(chuàng)建了變量x 2.引用 在python中從變量到對象的連接稱為引用。 x=3,變量擁有自己的存儲空間,變量連接到對象是該變量存儲了對象單元的內(nèi)存地址,并沒有存儲對象的值。,3. 共享引用 共享引用是指多個變量引用同一個對象。下面的語句使兩個變量都引用同一個對象3 a=3 b=a 下面在windows中的idle中演示對象、變量和引用 a=1,2,3 b=a; a0 1

4、b0=4 a0 4 a 4, 2, 3 b 4, 2, 3, 整數(shù) 十進(jìn)制整數(shù)如,0、-1、9、123 十六進(jìn)制整數(shù),需要16個數(shù)字0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f來表示整數(shù),為了告訴計算機(jī)這是一個十六進(jìn)制數(shù),必須以0 x開頭,如0 x10、0 xfa、0 xabcdef 八進(jìn)制整數(shù),只需要8個數(shù)字0、1、2、3、4、5、6、7來表示整數(shù),為了告訴計算機(jī)這是一個八進(jìn)制數(shù),必須以0o開頭,如0o35、0o11 二進(jìn)制整數(shù)、只需要2個數(shù)字0、1來表示整數(shù),為了告訴計算機(jī)這是一個二進(jìn)制數(shù),必須以0b開頭如,0b101、0b100,1.5.3 數(shù)字,數(shù)字是p

5、ython中最常用的對象。, 浮點數(shù) 浮點數(shù)又稱小數(shù),如 15.0、0.37、-11.2、1.2e2、314.15e-2 復(fù)數(shù) 復(fù)數(shù)是由實部和虛部構(gòu)成的數(shù),如3+4j、0.1-0.5j,a=3+4j b=5+6j c=a+b c 8+10j c.real #復(fù)數(shù)的實部 8.0 c.imag#復(fù)數(shù)的虛部 10.0,1.5.4 字符串 用單引號、雙引號或三引號括起來的符號系列稱為字符串,如abc、123、中國、Python、可換行的字符串 空串表示為或 ,字符串合并 a=abc + 123,2. 轉(zhuǎn)義字符 轉(zhuǎn)義字符可表示所有字符 如 n 是換行符 x41 、 101

6、、 A 都表示字符A 請理解下列語句 print 123456 123456 print 123n456 123 456,3. 三引號的用法 三引號表示的字符串可以換行,因此可用來表示超長字符串?;蚪o程序加較長的注釋。,1.5.5 操作符和表達(dá)式,1.5.6 常用內(nèi)置函數(shù),range(start, , end , step ),理解下面的例子 range(5) 0, 1, 2, 3, 4 range(2, 10, 3) 2, 5, 8,1.5.7 對象的刪除 Python中刪除對象用del語句。del用來刪除一個對象,并釋放對象所占資源。del的用法演示如下: a=1, 2, 3 del a1

7、 a 1, 3 x=5 x 5 del x #此后x就不存在了,1.5.8 輸入輸出 用Python進(jìn)行程序設(shè)計,輸入是通過input( )函數(shù)來實現(xiàn)的,imput( )的一般格式為: x=input(提示:) 該函數(shù)返回輸入的對象??奢斎霐?shù)字、字符串和其它對象 輸出是通過print語句來完成的,print語句的一般格式為: print 對象1, 對象2, . , 對象n,1.5.9 模塊的導(dǎo)入 常用的是 import 模塊名 如: import math math.sin(0.5) #求0.5的正弦 import random x=random.random( ) #獲得0,1) 內(nèi)的隨機(jī)小

8、數(shù) y=random.random( ) n=random.randint(1,100) #獲得1,100上的隨機(jī)整數(shù),1.7 順序程序設(shè)計基礎(chǔ)知識的應(yīng)用,【例1-3】任意輸入三個英文單詞,按字典順序輸出。,分析:三個單詞輸入后,需要比較兩個字符串的大小,必須時交換兩個字符串。,#Exp1_3.py s=input(x,y,z=) x, y, z=s.split(,) #把字符串用逗號進(jìn)行分離,返回子串構(gòu)成的列表 if xy: x, y=y, x #交換x, y的值 if xz: x, z=z, x if yz: y, z=z, y print(x, y, z),輸入及程序運(yùn)行結(jié)果: x, y

9、, z=bin,oct,hex bin hex oct,【例1-4】輸入一個二元一次方程組,解方程組。,分析:根據(jù)代數(shù)知識,二元一次方程組的解是由方程組的4個系數(shù)和2個常數(shù)決定的。用加減消元法,把方程組等號左端區(qū)域變成對角形,從而得到解。,從,變?yōu)?圖1-11 加減消元法解二元一次方程組,#Exp1_4.py a=0, 0, 0, 0, 0, 0 #定義一個列表 a00, a01, a02=input(請輸入第1個方程的3個數(shù):) a10, a11, a12=input(請輸入第1個方程的3個數(shù):) #第1行乘以-a10/a00加到第2行 d=-a10/a00 a10=a10+d*a00 a1

10、1=a11+d*a01 a12=a12+d*a02 #第2行乘以-a01/a11加到第1行 d=-a01/a11 #a00=a00+d*a10 a01=a01+d*a11 a02=a02+d*a12 print x=, a02/a00 print y=, a12/a11,輸入及程序運(yùn)行結(jié)果: 請輸入第1個方程的3個數(shù):1,2,3 請輸入第2個方程的3個數(shù):4,9,7 x= 13.0 y= -5.0 說明:將來使用循環(huán)和分支,用這種思想可解多元方程。,1.8 代碼塊的縮進(jìn) python程序是依靠代碼塊的縮進(jìn)來體現(xiàn)代碼之間的邏輯關(guān)系的,縮進(jìn)結(jié)束就表示一個代碼塊結(jié)束了。,【例1-5】 解決行列式的輸

11、出的問題 #Exp1_5.py a=111, 2, 30, 4, 50, 6, 7, 8, 9,#Exp1_5.py a=111, 2, 30, 4, 50, 6, 7, 8, 9 s1= print(_1_) for x in a: s= for y in x: s1=%6d % y s=s+s1 print(s),s1= print _1_ for x in a: s= for y in x: s1=%6d % y s=s+s1 print s,print _2_ i=j=0 while i3: j=0 s= while j3: s1=str(aij) s1=s+(s1+ *(6-len(

12、s1) j=j+1 print s i=i+1 print n用了兩種方法n,程序運(yùn)行結(jié)果: _1_ 111 2 30 4 50 6 7 8 9 _2_ 111 2 30 0 3 4 50 6 1 3 7 8 9 2 3 用了兩種方法,第2次上機(jī)作業(yè): 1.輸入一個十進(jìn)制數(shù),輸出其二進(jìn)制串、八進(jìn)制串、十六進(jìn)制串。 2. 解一元一次方程ax+b=0的問題。由用戶輸入a, b,程序輸出方程,并輸出解。 3. 輸入兩個點,建立起直線方程y=kx+b。輸入第3個點,求點到直線的距離。 4. 輸入一個小數(shù),對第三位小數(shù)進(jìn)行四舍五入,保留兩位小數(shù) 。 注:不能用round( )函數(shù),事實上我們就是想探索round( )函數(shù)是如何設(shè)計的。,python2.7.3的使用:(1)下載,可到下載。(2) 安裝,在windows中直接安裝下載后的文件。(3) 安裝后可從windows的開始菜單中啟動Idle.,(4)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論