麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

2019-11-06 08:48:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

這節(jié)課我們來(lái)做一個(gè)四則運(yùn)算器,輸入2個(gè)數(shù)字和1個(gè)運(yùn)算符,讓程序計(jì)算出結(jié)果。

上節(jié)課我們做了加法計(jì)算器和減法計(jì)算器,課后練習(xí)做了乘法計(jì)算器和除法計(jì)算器

再來(lái)復(fù)習(xí)一下,加法計(jì)算器:

num1=input("num1:")

num2=input("num2:")

num3=num1+num2

PRint num1,"+",num2,"=",num3

減法計(jì)算器:

num1=input("num1:")

num2=input("num2:")

num3=num1-num2

print num1,"-",num2,"=",num3

乘法計(jì)算器:

num1=input("num1:")

num2=input("num2:")

num3=num1*num2

print num1,"*",num2,"=",num3

除法計(jì)算器:

num1=input("num1:")

num2=input("num2:")

num3=num1/num2

print num1,"/",num2,"=",num3

大家發(fā)現(xiàn)沒有,代碼非常類似,有沒有辦法可以將4個(gè)程序合并起來(lái),做成一個(gè)四則運(yùn)算器呢

如果程序在輸入第一個(gè)數(shù)字之后,要求用戶輸入一個(gè)運(yùn)算符號(hào),然后輸入第二個(gè)數(shù)字之后,程序判斷運(yùn)算符號(hào)是哪一個(gè)從而計(jì)算出正確的結(jié)果,這樣就可以實(shí)現(xiàn)了

問(wèn)題來(lái)了,如何實(shí)現(xiàn)判斷運(yùn)算符號(hào)的程序呢

0和1的世界

計(jì)算機(jī)的世界是一個(gè)精確的世界,在計(jì)算機(jī)的世界里面,只有0和1

因?yàn)橛?jì)算機(jī)是由電驅(qū)動(dòng)的,是由邏輯電路組成的,而邏輯電路只有2個(gè)狀態(tài),開關(guān)的接通和斷開,這兩種狀態(tài)正好用1和0來(lái)表示

通過(guò)逢二進(jìn)一規(guī)則,也就是二進(jìn)制,進(jìn)行計(jì)算的時(shí)候,運(yùn)算規(guī)則簡(jiǎn)單,有利于簡(jiǎn)化計(jì)算機(jī)內(nèi)部結(jié)構(gòu),提高運(yùn)算速度

那么什么是二進(jìn)制,通常我們熟悉的阿拉伯?dāng)?shù)字都是十進(jìn)制,也就是低位逢十向高位進(jìn)一,而二進(jìn)制只有0和1,所以變成逢2向高位進(jìn)1,我們來(lái)看下面最簡(jiǎn)單的一個(gè)計(jì)算,求1011+11的和

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

十進(jìn)制的1=二進(jìn)制的1

十進(jìn)制的2=二進(jìn)制的10

十進(jìn)制的3=二進(jìn)制的11

十進(jìn)制的4=二進(jìn)制的100

十進(jìn)制的5=二進(jìn)制的101

十進(jìn)制的6=二進(jìn)制的110

十進(jìn)制的7=二進(jìn)制的111

十進(jìn)制的8=二進(jìn)制的1000

十進(jìn)制的9=二進(jìn)制的1001

十進(jìn)制的10=二進(jìn)制的1010

十進(jìn)制的11=二進(jìn)制的1011

十進(jìn)制的12=二進(jìn)制的1100

十進(jìn)制的13=二進(jìn)制的1101

十進(jìn)制的14=二進(jìn)制的1110

根據(jù)二進(jìn)制計(jì)算規(guī)則,1011(11)+11(3)=1110(14)

大家再做一個(gè)二進(jìn)制計(jì)算題,101+11,看看等于多少,然后轉(zhuǎn)換為十進(jìn)制看看

布爾類型Ture和False

真實(shí)世界中有一對(duì)概念,真和假

體現(xiàn)在計(jì)算機(jī)世界,就是布爾數(shù)據(jù)類型,True和False

主要的作用就是用來(lái)做邏輯判斷,判斷條件是否成立

例如:如果某某為真,則這樣處理,否則,那樣處理

例如:如果今天下雨,則去圖書館看書,否則去操場(chǎng)踢足球

這里的“今天下雨”就是一個(gè)邏輯判斷,結(jié)果可能為True,也可能為False

如果為True,則去圖書館看書,如果為False,則去操場(chǎng)踢足球

例如:如果考試分?jǐn)?shù)>=60,則及格,否則不及格

這里的“考試分?jǐn)?shù)>=60”就是一個(gè)邏輯判斷,結(jié)果可能為True,也可能為False

如果為True,則及格,如果為False,則不及格

邏輯運(yùn)算符and和or和not

針對(duì)邏輯判斷,有3種邏輯運(yùn)算,從而可以組合形成更復(fù)雜的判斷

例如:如果今天下雨并且?guī)?,則去圖書館看書,否則如果今天下雨并且沒打傘,則在家看書,否則去操場(chǎng)踢足球

not 邏輯非 不是

and 邏輯與 并且

or 邏輯或 或者

not 相反的判斷,針對(duì)1個(gè)邏輯值計(jì)算

計(jì)算公式:not True = False , not False = True

and 兩者都為True則結(jié)果為True否則為False,針對(duì)2個(gè)邏輯值計(jì)算

計(jì)算公式:True and True = True, True and False = False, False and True = False, False and False = False

or 兩者任一為True則結(jié)果為True,兩者都是False才為False,針對(duì)2個(gè)邏輯值計(jì)算

計(jì)算公式:True or True = True, True or False = True, False or True = True, False or False = False

計(jì)算一下:not True and not False = ?

如果一個(gè)邏輯運(yùn)算里面包含了多個(gè)邏輯運(yùn)算符,則存在優(yōu)先級(jí),就是誰(shuí)先計(jì)算,誰(shuí)后計(jì)算

優(yōu)先級(jí)按如下排:not and or 同級(jí)運(yùn)算從左至右

因此上面的計(jì)算結(jié)果應(yīng)該是:not True先運(yùn)算,結(jié)果為False,然后因?yàn)閮?yōu)先級(jí)not優(yōu)先于and,先計(jì)算后面的not False

,結(jié)果為True,最后計(jì)算False and True,最后結(jié)果為False

再計(jì)算一個(gè):False or not True and not False = ?

if判斷語(yǔ)句

在python程序里面,判斷語(yǔ)句的格式是這樣的:

if 邏輯運(yùn)算結(jié)果1=True :

執(zhí)行A

elif 邏輯運(yùn)算結(jié)果2=True :

執(zhí)行B

else :

執(zhí)行C

執(zhí)行的邏輯是:如果邏輯運(yùn)算結(jié)果1為True,則執(zhí)行A,否則的話,再判斷邏輯運(yùn)算結(jié)果2為True,則執(zhí)行B,前面2個(gè)不滿足則執(zhí)行C

其中的執(zhí)行A,執(zhí)行B,執(zhí)行C ,都是指一段代碼,可以是0行或1行或多行代碼,不是僅僅限定1行代碼的意思

其中elif可以允許出現(xiàn)0個(gè)或1個(gè)或多個(gè),else可以允許出現(xiàn)0個(gè)或1個(gè)

冒號(hào)表示下面的代碼行是一個(gè)新的段落,每個(gè)新的段落,通過(guò)在行首輸入相同的空格來(lái)進(jìn)行區(qū)分,簡(jiǎn)稱縮進(jìn)

python最重要的規(guī)則:縮進(jìn)的空格數(shù)整個(gè)程序必須一致。

如果你用了2個(gè)空格作為縮進(jìn)規(guī)則,則程序中所有的行的縮進(jìn)規(guī)則都是2個(gè)空格

一般我們都習(xí)慣用4個(gè)空格

例如執(zhí)行A假如是3行代碼,執(zhí)行B假如是4行代碼,執(zhí)行C假如是1行代碼

那么加起來(lái)的8行代碼每一行的前面都應(yīng)該是4個(gè)空格,表示這些代碼都是相同的縮進(jìn)格式

如果執(zhí)行A的3行代碼每一行用了4個(gè)空格,而執(zhí)行B的4行代碼每一行用了8個(gè)空格,程序執(zhí)行的時(shí)候就會(huì)報(bào)錯(cuò)

后面我們?cè)诰唧w做實(shí)驗(yàn)的時(shí)候可以體會(huì)

if判斷語(yǔ)句舉例:

例子1,單個(gè)分支:

if score>=60 :

print "及格"

例子2,2個(gè)分支:

if score>=60 :

print "及格"

else :

print "不及格"

例子3,3個(gè)分支

if score>=80 :

print "良好"

elif score>=60 :

print "及格"

else :

print "不及格"

例子4,4個(gè)分支

if score>=90 :

print "優(yōu)秀"

elif score>=80 :

print "良好"

elif score>=60 :

print "及格"

else :

print "不及格"

例子5,5個(gè)分支

if score==100 :

print "滿分"

elif score>=90 :

print "優(yōu)秀"

elif score>=80 :

print "良好"

elif score>=60 :

print "及格"

else :

print "不及格"

if判斷輸入的操作符號(hào)

回到最初的目標(biāo)上來(lái):四則運(yùn)算器

首先,打開原來(lái)的add.py程序,另存為cala.py程序

然后在第1行結(jié)尾處打回車,增加1個(gè)空行,然后增加下面一行代碼:

Operate=input("your operate:")

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

然后在num3=num1+num2這一行前面增加一行

if operate=="+" :

然后把num3=num1+num2這一行前面增加4個(gè)空格

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

然后,把print 這一行里面的"+"修改為operate,保存代碼

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

這樣,加法已經(jīng)可以運(yùn)行了,我們先測(cè)試一下加法是否正確

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

注意,輸入運(yùn)算符的時(shí)候,一定要前后輸入雙引號(hào),表示這是一個(gè)字符串

這樣,程序里面判斷語(yǔ)句 operate=="+" 才能正確進(jìn)行判斷,這里的==表示是邏輯判斷,而num1=的這個(gè)=表示賦值操作符

接下,增加elif分支,判斷減法乘法和除法,在print這行前面增加下列代碼

elif operate=="-" :

num3=num1-num2

elif operate=="*" :

num3=num1*num2

elif operate=="/" :

num3=num1/num2

else :

num3="error operate"

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

程序測(cè)試的重要性

代碼寫好之后,需要通過(guò)反復(fù)的測(cè)試來(lái)確保程序是正確的按照預(yù)期的邏輯進(jìn)行處理,這就是測(cè)試

測(cè)試在軟件工程中是非常重要的一環(huán)

測(cè)試的目的:

1.確保程序本身正確執(zhí)行,不會(huì)崩潰或死循環(huán),或者無(wú)法執(zhí)行

2.確保程序是按照設(shè)計(jì)和預(yù)期進(jìn)行執(zhí)行,得到的結(jié)果是正確和符合預(yù)期的

3.確保程序在不同環(huán)境或者不同條件情況下,仍然能夠正常工作,當(dāng)然這些條件都是在設(shè)計(jì)之中。

下面,我們就來(lái)測(cè)試剛剛做好的四則運(yùn)算器,注意讓程序的每一種情況每一個(gè)分支都運(yùn)行測(cè)試過(guò)

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

0007 如何編寫程序?qū)崿F(xiàn)加減乘除計(jì)算

課后作業(yè)1:

輸入一個(gè)分?jǐn)?shù),根據(jù)分?jǐn)?shù)進(jìn)行判斷,大于等于90分屏幕輸出best,大于等于80分屏幕輸出good,大于等于60分屏幕輸出pass,其他屏幕輸出fail

課后作業(yè)2:

輸入月份和日期,根據(jù)月份日期判斷是屬于哪個(gè)星座的


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产羞羞视频在线免费观看 | 一级美女大片 | 久久久久北条麻妃免费看 | 黄色大片大毛片 | 在线看一区二区三区 | 看免费5xxaaa毛片 | 黄wwww| 亚洲日本韩国在线观看 | 亚洲91精品 | 欧美高清一级片 | 日本最新免费二区三区 | 久久影院在线观看 | 毛片在线视频在线播放 | chinesexxxx刘婷hd| 理论片中文字幕 | av日韩一区二区三区 | 香蕉视频破解 | 亚洲人成综合第一网 | 久久成人视屏 | 久久久三级免费电影 | 国产成人av免费 | 亚洲国产资源 | 国产 日韩 亚洲 欧美 | 日韩视频区 | 操碰视频在线观看 | 久久久久久久久久久国产精品 | 高清视频一区二区 | 永久久久| 久久久精品视 | 欧美性a视频 | 国产精品成人亚洲一区二区 | 美女91视频 | 国产九色在线播放九色 | 中文字幕亚洲一区二区三区 | 黄色电影免费提供 | 免费网址黄 | 国产精品99久久久久久董美香 | 欧美成人精品欧美一级 | 日韩精品一区二区三区中文 | 国产精品99久久久久久大便 | 久久精品国产久精国产 |