版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python科學計算及應用
Python計算結構分支計算3.2循環(huán)計算3.3順序計算3.1
Python計算結構
Python計算結構3.1.1輸入函數input()變量=input()
變量=input("提示信息")3.1順序計算注意:無論用戶輸入的是什么,都將以字符串的形式返回。如用戶輸入100,那么變量接收的不是整型數100,而是字符串100,即“100”,如:name=input("請輸入名字:")print('您剛剛輸入的名字是:',name)3.1.2求值函數eval()eval(expression,globals=None,locals=None)3.1順序計算字符串轉換成列表:
a="[1,2,3,4,5]"#a是字符串類型數據b=eval(a)#b是列表類型數據
字符串轉換成字典
a="{"name":"guo","age":25}"#a為字符串類型數據b=eval(a)#b為字典類型數據
字符串轉換為元組a="(1,2,3,4,5)"#a的數據結構是字符串b=eval(a)#b的數據結構是元組eval()返回表達式的值
x=4eval("5*x")#返回值為203.1.3輸出函數print()函數的語法如下:print(objects,sep='',end='\n',file=sys.stdout)3.1順序計算格式化輸出格式符號轉換對應的類型%c字符%s通過str()字符串轉換來格式化%d有符號十進制整數%u無符號十進制整數%o八進制整數%x十六進制整數(小寫字母)%X十六進制整數(大寫字母)%e索引符號(小寫'e')%E索引符號(大寫“E”)%f浮點實數%g%f和%e的簡寫%G%f和%E的簡寫age=18name="小明"print("我的姓名是%s,年齡是%d"%(name,age))
轉義字符print("1234567890-------")#會在一行顯示print("1234567890\n-------")#第一行顯示’1234567890’,第二行顯示’-------’3.1順序計算轉義符號含義示例結果\newline輸入多行s=“a\b\c”print(s)abc\\反斜杠print(“\\”)\\’單引號print(‘\’’)’\”雙引號print(“\””)”\b退格,刪除前一個字符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八進制xx代表的字符print(“\043”)#\xhh十六進制hh代表的字符print(“\x23”)#3.1順序計算3.2.1if判斷語句age=10print("****if判斷開始****")ifage>18:print("已經成年")print("****if判斷結束****")3.2分支計算例3.2
輸入學生成績,輸出等級分(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("已經成年")else:print("未成年")例3.3輸入一個數,判斷值是否在0~5或者10-20之間,如是輸出valid,否則輸出invalidnum=int(input("請輸入一個數:"))if(num>=0andnum<=5)or(num>=10andnum<=0):print('valid')else:print('invalid')3.2分支計算3.2.3elif語句3.2分支計算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一起使用,不能單獨使用,否則出錯。3.2.4if嵌套3.2分支計算ticket=0#車票,非0代表有車票,0代表沒有車票suitcase=1#手提箱,0代表檢查合格,非0代表有違禁品ifticket!=0:print("有車票,可以進站")ifsuitcase==0:print("通過安檢")print("終于可以回家了,美滋滋~~~")else:print("沒有通過安檢,手提箱中有違禁品")print("警察叔叔!請聽我解釋...")else:print("沒有車票,不能進站")print("就這張票,昨天還能進的!")例3.4
編寫程序模擬猜拳游戲。參考程序如下:importrandom#導入隨機函數庫player=int(input('請輸入:剪刀(0)石頭(1)布(2):'))computer=random.randint(0,2)#在[0,2]取隨機數#用來進行測試#print('player=%d,computer=%d',(player,computer))#一行太長希望多行顯示,使用\進行連接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分支計算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)計算range()函數語法格式:range(start,end,step)注意:range()函數返回的是一個可迭代對象(類型是對象),而不是列表類型,
所以輸出的時候不會顯示列表。list()函數可以把range()返回的可迭代對象轉為一個列表,返回的變量類型為列表。for循環(huán)語句語法格式是:for變量in可迭代對象:
循環(huán)需要執(zhí)行的代碼foriinrange(5):print(i,end=’’)#輸出01234foritemin'python':print(item):#輸出pythonfor_inrange(5):#下劃線可以當作臨時變量print('helloworld')#將helloworld打印5遍課程練習:1.求1~100之間所有偶數之和2.輸入一個整數,求該數的階乘3.3循環(huán)計算break:
表示終止循環(huán),即不執(zhí)行本次循環(huán)中break后的語句,直接跳出循環(huán)。continue表示終止本次循環(huán),即本次循環(huán)中continue后面的代碼不執(zhí)行,進入下一次循環(huán)的入口判斷。exit()表示結束進程,即整個退出系統(tǒng)。break和continue語句foriinrange(10):ifi==5:breakprint(i)print('hellopython')foriinrange(10):ifi==5:continueprint(i)print('hellopython')3.3循環(huán)計算for…else語句功能:在循環(huán)正常結束后,執(zhí)行else的內容。ID=[1,2,3]foriinID:print(i,end='')else:print("\n循環(huán)正常結束,請顯示我!")forninrange(2,100):forxinrange(2,n):ifn%x==0:breakelse:#注意else和for對齊print(n,end='')求100以內素數,用for…else結構實現3.3循環(huán)計算pass語句功能:表示空,啥也不干,只有語法上的意義forletterin'RedMolly':ifletter=='l':passprint('當前字母:',letter)print("Goodbye!")例3.5
有1,2,3,4四個數字,求這四個數字能生成多少個互不相同且無重復數字的三位數。count=0#記錄符合要求的數字個數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)計算num1=int(input('Num1:'))#輸入兩個整數num2=int(input('Num2:'))min_num=min(num1,num2)#找出兩個數中的最小值#最大公約數范圍在1~min_num之間foriinrange(1,min_num+1):ifnum1%i==0andnum2%i==0:gys=igbs=(num1*num2/gys)#最小公倍數print('%d和%d的最大公約數為:%d'%(num1,num2,gys))print('%d和%d的最小公倍數為:%d'%(num1,num2,gbs))例3.6
輸入兩個整數,求兩個數的最大公約數和最小公倍數。(最小公倍數=(num1*num2)/最大公約數)3.3循環(huán)計算foriinrange(3):name=input('用戶名:')passwd=input('密碼:')ifname=='user'andpasswd=='6666':print('登錄成功!')breakelse:print('登錄失敗')print('您還剩余%d次機會'%(2-i))
else:print('失敗超過3次,請稍后再試!')例3.7
用for循環(huán)實現用戶登錄,輸入用戶名和密碼;判斷用戶名和密碼是否正確(name='user',passwd='6666'),登錄僅有三次機會,超過3次會報錯。3.3循環(huán)計算count=0while(count<5):print('
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣西客運從業(yè)資格證實際操作考試答案解析
- 2024年北京客運資格證模擬考試app
- 2025屆湖北省荊州市沙市中學英語高三上期末統(tǒng)考模擬試題含解析
- 機器學習 課件 第10、11章 人工神經網絡、強化學習
- 2024年黨員干部紀律處分和廉潔自律知識競賽測試題庫及答案
- 安徽省黃山市普通高中2025屆語文高三上期末統(tǒng)考模擬試題含解析
- 北京市人民大學附屬中學2025屆高二生物第一學期期末學業(yè)水平測試試題含解析
- 2025屆達州市重點中學生物高一第一學期期末綜合測試試題含解析
- 2025屆廣東省揭陽市重點名校生物高一第一學期期末教學質量檢測模擬試題含解析
- 餐廳廚余垃圾轉讓協議書
- 陽光心理激昂青春
- 醫(yī)療器械質量方針和目標管理制度
- 2024年醫(yī)院醫(yī)療質量管理與考核細則例文(三篇)
- 山東省第五屆財會知識大賽試題及答案
- 廣東省深圳市龍華區(qū)2024-2025學年二年級上學期學科素養(yǎng)課堂提升練習語文試卷
- 農村農產品加工行業(yè)市場需求分析及未來三年行業(yè)預測報告
- 交通行業(yè)智能交通系統(tǒng)建設與運營維護方案
- 2024-2025學年北師大版七年級數學上冊期末測試壓軸題考點模擬訓練(一)
- 2023-2024學年北京市通州區(qū)九年級(上)期中數學試卷【含解析】
- 速凍食品安全風險管控清單
- 國家職業(yè)分類大典
評論
0/150
提交評論