Python科學(xué)計(jì)算及應(yīng)用課件:Python計(jì)算結(jié)構(gòu)_第1頁
Python科學(xué)計(jì)算及應(yīng)用課件:Python計(jì)算結(jié)構(gòu)_第2頁
Python科學(xué)計(jì)算及應(yīng)用課件:Python計(jì)算結(jié)構(gòu)_第3頁
Python科學(xué)計(jì)算及應(yīng)用課件:Python計(jì)算結(jié)構(gòu)_第4頁
Python科學(xué)計(jì)算及應(yīng)用課件:Python計(jì)算結(jié)構(gòu)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python科學(xué)計(jì)算及應(yīng)用

Python計(jì)算結(jié)構(gòu)分支計(jì)算3.2循環(huán)計(jì)算3.3順序計(jì)算3.1

Python計(jì)算結(jié)構(gòu)

Python計(jì)算結(jié)構(gòu)3.1.1輸入函數(shù)input()變量=input()

變量=input("提示信息")3.1順序計(jì)算注意:無論用戶輸入的是什么,都將以字符串的形式返回。如用戶輸入100,那么變量接收的不是整型數(shù)100,而是字符串100,即“100”,如:name=input("請輸入名字:")print('您剛剛輸入的名字是:',name)3.1.2求值函數(shù)eval()eval(expression,globals=None,locals=None)3.1順序計(jì)算字符串轉(zhuǎn)換成列表:

a="[1,2,3,4,5]"#a是字符串類型數(shù)據(jù)b=eval(a)#b是列表類型數(shù)據(jù)

字符串轉(zhuǎn)換成字典

a="{"name":"guo","age":25}"#a為字符串類型數(shù)據(jù)b=eval(a)#b為字典類型數(shù)據(jù)

字符串轉(zhuǎn)換為元組a="(1,2,3,4,5)"#a的數(shù)據(jù)結(jié)構(gòu)是字符串b=eval(a)#b的數(shù)據(jù)結(jié)構(gòu)是元組eval()返回表達(dá)式的值

x=4eval("5*x")#返回值為203.1.3輸出函數(shù)print()函數(shù)的語法如下:print(objects,sep='',end='\n',file=sys.stdout)3.1順序計(jì)算格式化輸出格式符號轉(zhuǎn)換對應(yīng)的類型%c字符%s通過str()字符串轉(zhuǎn)換來格式化%d有符號十進(jìn)制整數(shù)%u無符號十進(jìn)制整數(shù)%o八進(jìn)制整數(shù)%x十六進(jìn)制整數(shù)(小寫字母)%X十六進(jìn)制整數(shù)(大寫字母)%e索引符號(小寫'e')%E索引符號(大寫“E”)%f浮點(diǎn)實(shí)數(shù)%g%f和%e的簡寫%G%f和%E的簡寫age=18name="小明"print("我的姓名是%s,年齡是%d"%(name,age))

轉(zhuǎn)義字符print("1234567890-------")#會(huì)在一行顯示print("1234567890\n-------")#第一行顯示’1234567890’,第二行顯示’-------’3.1順序計(jì)算轉(zhuǎn)義符號含義示例結(jié)果\newline輸入多行s=“a\b\c”print(s)abc\\反斜杠print(“\\”)\\’單引號print(‘\’’)’\”雙引號print(“\””)”\b退格,刪除前一個(gè)字符print(“ab\b”)a\f分頁,隔開一頁print(“hello\fworld”)hello↑world\n換行print(“a\nb”)ab\t橫向制表符print(“a\tb”)a

b\v縱向制表符print(“a\vb”)a

b\oxx八進(jìn)制xx代表的字符print(“\043”)#\xhh十六進(jìn)制hh代表的字符print(“\x23”)#3.1順序計(jì)算3.2.1if判斷語句age=10print("****if判斷開始****")ifage>18:print("已經(jīng)成年")print("****if判斷結(jié)束****")3.2分支計(jì)算例3.2

輸入學(xué)生成績,輸出等級分(ABCDE等)score=int(input("請輸入成績:"))if90<=score<=100:print('A')if80<=score<90:print('B')if70<=score<80:print('C')if60<=score<70:print('D')ifscore<60:print('E')3.2.2if-else語句age=input("請輸入年齡:")age=int(age)ifage>18:print("已經(jīng)成年")else:print("未成年")例3.3輸入一個(gè)數(shù),判斷值是否在0~5或者10-20之間,如是輸出valid,否則輸出invalidnum=int(input("請輸入一個(gè)數(shù):"))if(num>=0andnum<=5)or(num>=10andnum<=0):print('valid')else:print('invalid')3.2分支計(jì)算3.2.3elif語句3.2分支計(jì)算if條件1:事情1elif條件2:事情2elif條件3:事情3score=int(input("請輸入成績:"))ifscore>=90andscore<=100:print('本次考試,等級為A')elifscore>=80andscore<90:print('本次考試,等級為B')elifscore>=70andscore<80:print('本次考試,等級為C')elifscore>=60andscore<70:print('本次考試,等級為D')elifscore>=0andscore<60:print('本次考試,等級為E')值得注意的是elif必須和if一起使用,不能單獨(dú)使用,否則出錯(cuò)。3.2.4if嵌套3.2分支計(jì)算ticket=0#車票,非0代表有車票,0代表沒有車票suitcase=1#手提箱,0代表檢查合格,非0代表有違禁品ifticket!=0:print("有車票,可以進(jìn)站")ifsuitcase==0:print("通過安檢")print("終于可以回家了,美滋滋~~~")else:print("沒有通過安檢,手提箱中有違禁品")print("警察叔叔!請聽我解釋...")else:print("沒有車票,不能進(jìn)站")print("就這張票,昨天還能進(jìn)的!")例3.4

編寫程序模擬猜拳游戲。參考程序如下:importrandom#導(dǎo)入隨機(jī)函數(shù)庫player=int(input('請輸入:剪刀(0)石頭(1)布(2):'))computer=random.randint(0,2)#在[0,2]取隨機(jī)數(shù)#用來進(jìn)行測試#print('player=%d,computer=%d',(player,computer))#一行太長希望多行顯示,使用\進(jìn)行連接if((player==0)and(computer==2))\or((player==1)and(computer==0))\or((player==2)and(computer==1)):print('獲勝,哈哈,你太厲害了')elifplayer==computer:print('平局,要不再來一局')else:print('輸了,不要走,再來決戰(zhàn)!')3.2分支計(jì)算3.3.1for循環(huán)list(range(4))#[0,1,2,3]list(range(0,5))#[0,1,2,3,4]list(range(0,10,3))#[0,3,6,9]list(range(-4,4))#[-4,-3,-2,-1,0,1,2,3]list(range(4,-4,-1))#[4,3,2,1,0,-1,-2,-3]3.3循環(huán)計(jì)算range()函數(shù)語法格式:range(start,end,step)注意:range()函數(shù)返回的是一個(gè)可迭代對象(類型是對象),而不是列表類型,

所以輸出的時(shí)候不會(huì)顯示列表。list()函數(shù)可以把range()返回的可迭代對象轉(zhuǎn)為一個(gè)列表,返回的變量類型為列表。for循環(huán)語句語法格式是:for變量in可迭代對象:

循環(huán)需要執(zhí)行的代碼foriinrange(5):print(i,end=’’)#輸出01234foritemin'python':print(item):#輸出pythonfor_inrange(5):#下劃線可以當(dāng)作臨時(shí)變量print('helloworld')#將helloworld打印5遍課程練習(xí):1.求1~100之間所有偶數(shù)之和2.輸入一個(gè)整數(shù),求該數(shù)的階乘3.3循環(huán)計(jì)算break:

表示終止循環(huán),即不執(zhí)行本次循環(huán)中break后的語句,直接跳出循環(huán)。continue表示終止本次循環(huán),即本次循環(huán)中continue后面的代碼不執(zhí)行,進(jìn)入下一次循環(huán)的入口判斷。exit()表示結(jié)束進(jìn)程,即整個(gè)退出系統(tǒng)。break和continue語句foriinrange(10):ifi==5:breakprint(i)print('hellopython')foriinrange(10):ifi==5:continueprint(i)print('hellopython')3.3循環(huán)計(jì)算for…else語句功能:在循環(huán)正常結(jié)束后,執(zhí)行else的內(nèi)容。ID=[1,2,3]foriinID:print(i,end='')else:print("\n循環(huán)正常結(jié)束,請顯示我!")forninrange(2,100):forxinrange(2,n):ifn%x==0:breakelse:#注意else和for對齊print(n,end='')求100以內(nèi)素?cái)?shù),用for…else結(jié)構(gòu)實(shí)現(xiàn)3.3循環(huán)計(jì)算pass語句功能:表示空,啥也不干,只有語法上的意義forletterin'RedMolly':ifletter=='l':passprint('當(dāng)前字母:',letter)print("Goodbye!")例3.5

有1,2,3,4四個(gè)數(shù)字,求這四個(gè)數(shù)字能生成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)。count=0#記錄符合要求的數(shù)字個(gè)數(shù)foriin(1,2,3,4):forjin(1,2,3,4):forkin(1,2,3,4):ifi!=jandi!=kandj!=k:#去重count+=1print(count)#輸出243.3循環(huán)計(jì)算num1=int(input('Num1:'))#輸入兩個(gè)整數(shù)num2=int(input('Num2:'))min_num=min(num1,num2)#找出兩個(gè)數(shù)中的最小值#最大公約數(shù)范圍在1~min_num之間foriinrange(1,min_num+1):ifnum1%i==0andnum2%i==0:gys=igbs=(num1*num2/gys)#最小公倍數(shù)print('%d和%d的最大公約數(shù)為:%d'%(num1,num2,gys))print('%d和%d的最小公倍數(shù)為:%d'%(num1,num2,gbs))例3.6

輸入兩個(gè)整數(shù),求兩個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)。(最小公倍數(shù)=(num1*num2)/最大公約數(shù))3.3循環(huán)計(jì)算foriinrange(3):name=input('用戶名:')passwd=input('密碼:')ifname=='user'andpasswd=='6666':print('登錄成功!')breakelse:print('登錄失敗')print('您還剩余%d次機(jī)會(huì)'%(2-i))

else:print('失敗超過3次,請稍后再試!')例3.7

用for循環(huán)實(shí)現(xiàn)用戶登錄,輸入用戶名和密碼;判斷用戶名和密碼是否正確(name='user',passwd='6666'),登錄僅有三次機(jī)會(huì),超過3次會(huì)報(bào)錯(cuò)。3.3循環(huán)計(jì)算count=0while(count<5):print('

溫馨提示

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

最新文檔

評論

0/150

提交評論