0008 加減乘除也會(huì)算錯(cuò)园担?還要編寫(xiě)程序測(cè)試?

首先枯夜,通知一個(gè)事情:經(jīng)過(guò)考慮弯汰,決定創(chuàng)建一個(gè)QQ群,方便交流學(xué)習(xí)湖雹,比較方便加入咏闪,包括發(fā)布一些文件以及支持遠(yuǎn)程協(xié)助等等,群號(hào):603559164摔吏,歡迎大家加入鸽嫂。


這節(jié)課,將繼續(xù)修改四則運(yùn)算器征讲,改成讓用戶輸入計(jì)算結(jié)果据某,然后程序給出判斷結(jié)果是否正確。

上節(jié)課的作業(yè)

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

這是一個(gè)經(jīng)典的if分支語(yǔ)句題目

正確的結(jié)果類(lèi)似如下:

score=input("please input score:")

if score>=90 :

? ? print "best"

elif score>=80 :

? ? print "good"

elif score>=60 :

? ? print "pass"

else :

? ? print "fail"

運(yùn)行結(jié)果如下:

增加注釋行

到目前為止,已經(jīng)寫(xiě)了不少程序文件了氨距,add.py桑逝,subtract.py,cala.py俏让,score.py

程序文件多了之后楞遏,會(huì)發(fā)現(xiàn)如何快速記起程序的內(nèi)容和目的茬暇,會(huì)有點(diǎn)困難,特別是當(dāng)別人來(lái)看你的代碼的時(shí)候

為了幫助我們自己和別人寡喝,我們需要給程序增加一些描述文字和說(shuō)明糙俗,這就是注釋

注釋的格式是這樣的:? #注釋內(nèi)容

在行首如果是#開(kāi)頭的表示這一行代碼是注釋?zhuān)瑢⒉粫?huì)被程序執(zhí)行,即使#后面跟著的是代碼

我們將最早寫(xiě)的add.py拿出來(lái)预鬓,當(dāng)時(shí)刪掉了一行代碼巧骚,其實(shí)也可以用注釋來(lái)完成:

num1=input("num1:")

#print num1

num2=input("num2:")

num3=num1+num2

print num1,"+",num2,"=",num3

這樣第2行代碼就不會(huì)執(zhí)行

我們打開(kāi)score.py,在最前面增加說(shuō)明:

這樣格二,每新做一個(gè)程序劈彪,就在程序最前面增加注釋說(shuō)明這個(gè)程序的目的是什么,作者是誰(shuí)顶猜,什么時(shí)候創(chuàng)建的沧奴,方便其他人查看和了解

再次執(zhí)行程序,會(huì)發(fā)現(xiàn)提示錯(cuò)誤如下:

這是因?yàn)樵黾恿酥形牡脑虺ふ鉀Q的辦法是指定文件的編碼方式:

在文件第一行增加如下代碼:

#coding=utf-8


再次執(zhí)行代碼颜启,發(fā)現(xiàn)正常了

四則運(yùn)算測(cè)試器修改代碼

接下來(lái)嫉入,開(kāi)始改造之前寫(xiě)的四則運(yùn)算器程序外驱,改成讓用戶輸入計(jì)算結(jié)果馋记,然后程序給出判斷結(jié)果是否正確驰后。

首先肆资,打開(kāi)cala.py,另存為cala_test.py

然后在程序開(kāi)始添加注釋說(shuō)明:

#coding=utf-8

#四則運(yùn)算測(cè)試器程序

#輸入2個(gè)數(shù)字灶芝,1個(gè)操作符郑原,1個(gè)計(jì)算結(jié)果,判斷是否正確

#作者:學(xué)哥? 時(shí)間:2016/12/8


很明顯夜涕,需要增加一個(gè)輸入犯犁,讓用戶輸入計(jì)算結(jié)果,然后判斷計(jì)算結(jié)果num3和輸入的結(jié)果是否一致女器,輸出結(jié)果

在print 這行之前酸役,增加下列代碼:

result=input("your result:")

if num3==result :

? ? print "right"

else :

? ? print "error"

然后把原來(lái)的print這行注釋掉

執(zhí)行結(jié)果如下:

大家在測(cè)試程序的時(shí)候,除了按照理想或者預(yù)期的數(shù)據(jù)進(jìn)行輸入之外驾胆,還要輸入一些非預(yù)期的數(shù)據(jù)涣澡,這樣才能夠完整的測(cè)試代碼是否完美

比如上面的程序,如果在預(yù)期輸入數(shù)字的地方丧诺,輸入了一個(gè)字符a入桂,或者輸入了帶引號(hào)的"a",或者在輸入操作符的地方輸入一個(gè)數(shù)字

看看會(huì)有什么結(jié)果驳阎,如果發(fā)現(xiàn)錯(cuò)誤抗愁,看看應(yīng)該如何修改馁蒂,進(jìn)行限制輸入,如果不知道的話蜘腌,可以自己去網(wǎng)上搜索沫屡,學(xué)會(huì)自己尋找答案

因?yàn)檫@個(gè)并非我們課程的重點(diǎn),這里就不講解了撮珠。

輸入數(shù)值改為程序生成隨機(jī)數(shù)

需要輸入數(shù)值和操作符太麻煩了谁鳍,能不能讓程序自己生成數(shù)值和操作符,我們只要輸入結(jié)果劫瞳,看看我們做對(duì)了沒(méi)有倘潜,那多好

那么,就來(lái)做100以?xún)?nèi)的加減乘除測(cè)試題目吧

首先志于,將上面的文件另存為cala_test_rand.py

其次涮因,在注釋的4行下面,將前面3行輸入代碼都刪除掉

num1=input("num1")

operate=input("your operate:")

num2=input("num2:")

然后在程序開(kāi)始這個(gè)地方增加以下代碼:

import random

num1=random.randint(1,99)

num2=random.randint(1,99)

operateint=random.randint(1,4)

if operateint==1:

? ? operate="+"

elif operateint==2:

? ? operate="-"

elif operateint==3:

? ? operate="*"

else:

? ? operate="/"

print num1,operate,num2,"="

完整代碼如下:

結(jié)果如下:

注意測(cè)試的時(shí)候伺绽,除法是進(jìn)行整除养泡,小數(shù)位舍棄

代碼說(shuō)明

import random 引入一個(gè)模塊random

random.randint(1,99) 生成一個(gè)1到99范圍之內(nèi)的隨機(jī)整數(shù)

random.randint(1,4) 生成一個(gè)1到4范圍之內(nèi)的隨機(jī)整數(shù)

然后根據(jù)1到4,將運(yùn)算符設(shè)置為加減乘除

后續(xù)代碼不變

關(guān)于模塊和函數(shù)奈应,后續(xù)課程會(huì)詳細(xì)說(shuō)明澜掩,這里只要知道是什么就可以了


課后作業(yè)

1. 輸入數(shù)字1-7判斷是星期幾

2. 收集星座具體的日期范圍,考慮一下如何實(shí)現(xiàn)輸入一個(gè)月和日杖挣,輸出所屬星座

往期教程

0001 零基礎(chǔ)的小白能學(xué)會(huì)編程嗎肩榕?

0002 真的嗎,700元的電腦可以學(xué)會(huì)編程惩妇?

0003 十分鐘組裝一臺(tái)電腦開(kāi)始編程

0004 如何編寫(xiě)人生的第一行代碼helloworld

0005 鍵盤(pán)打字如何練成像黑客一樣的飛速

0006 編程入門(mén)python語(yǔ)言之加法計(jì)算器

0007 編程入門(mén)python語(yǔ)言之四則運(yùn)算器

第一部分前7課小結(jié)和課程規(guī)劃說(shuō)明及微信群主招募

因?yàn)榻坛淌窍盗薪坛讨旰海昂箨P(guān)聯(lián)性非常強(qiáng),請(qǐng)大家按照微信公眾號(hào)的發(fā)布時(shí)間先后次序進(jìn)行閱讀歌殃。

微信公眾號(hào)里面直接輸入序號(hào)可以查看該序號(hào)課程乔妈,例如輸入0001可以查看【0001 零基礎(chǔ)的小白能學(xué)會(huì)編程嗎?】

作者簡(jiǎn)介

學(xué)哥氓皱,二十年編程經(jīng)驗(yàn)路召,歷任程序員,資深程序員波材,技術(shù)經(jīng)理股淡,項(xiàng)目經(jīng)理,產(chǎn)品經(jīng)理各聘,系統(tǒng)架構(gòu)師揣非,IT總監(jiān)。愛(ài)好篆刻躲因,閱讀早敬,美食忌傻。

教程簡(jiǎn)介

每天半小時(shí)零基礎(chǔ)學(xué)編程。大人可以學(xué)搞监,小孩也可以學(xué)水孩。練打字,用軟件琐驴,寫(xiě)文檔俘种,做網(wǎng)站,做App绝淡,編游戲宙刘,數(shù)據(jù)庫(kù),玩硬件牢酵,寫(xiě)程序悬包,3D打印,無(wú)人機(jī)馍乙,機(jī)器人布近。

html,css,javascript,python,php,java,swift,mysql,android,ios,raspberry pi,scratch.?

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市丝格,隨后出現(xiàn)的幾起案子撑瞧,更是在濱河造成了極大的恐慌,老刑警劉巖显蝌,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件预伺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡琅束,警方通過(guò)查閱死者的電腦和手機(jī)扭屁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涩禀,“玉大人,你說(shuō)我怎么就攤上這事然眼“” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵高每,是天一觀的道長(zhǎng)屿岂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鲸匿,這世上最難降的妖魔是什么爷怀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮带欢,結(jié)果婚禮上运授,老公的妹妹穿的比我還像新娘烤惊。我一直安慰自己,他們只是感情好吁朦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布柒室。 她就那樣靜靜地躺著,像睡著了一般逗宜。 火紅的嫁衣襯著肌膚如雪雄右。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天纺讲,我揣著相機(jī)與錄音擂仍,去河邊找鬼。 笑死熬甚,一個(gè)胖子當(dāng)著我的面吹牛防楷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播则涯,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼复局,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了粟判?” 一聲冷哼從身側(cè)響起亿昏,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎档礁,沒(méi)想到半個(gè)月后角钩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡呻澜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年递礼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片羹幸。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脊髓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出栅受,到底是詐尸還是另有隱情将硝,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布屏镊,位于F島的核電站依疼,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏而芥。R本人自食惡果不足惜律罢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棍丐。 院中可真熱鬧误辑,春花似錦沧踏、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至睛琳,卻和暖如春盒蟆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背师骗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工历等, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辟癌。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓寒屯,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親黍少。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寡夹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容