0009 如何編寫程序計算所屬星座,一看就懂

這節(jié)課洲愤,仍然是復(fù)習(xí)input輸入和if判斷的用法摇幻,要做一個根據(jù)輸入月份和日期輸出是什么星座的程序横侦。

先來做一下上節(jié)課的練習(xí):

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

程序應(yīng)該類似如下:

#coding=utf-8

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

#作者:學(xué)哥? 時間:2017/1/1

num=int(input("week num"))

if num==1:

? ? print "Monday"

elif num==2:

? ? print "Tuesday"

elif num==3:

? ? print "Wednesday"

elif num==4:

? ? print "Thursday"

elif num==5:

? ? print "Friday"

elif num==6:

? ? print "Saturday"

elif num==7:

? ? print "Sunday"

else:

? ? print "error input"

測試結(jié)果如下:

輸入月份和日期

要判斷星座,先要輸入月份和日期:

#coding=utf-8

#輸入月份和日期輸出是什么星座

#作者:學(xué)哥? 時間:2017/1/1

month=int(input("month:"))

day=int(input("day:"))

print "month:",month,"day:",day

檢查月份和日期是否正確

if month<1 or month>12:

? ? print "month must in 1-12"

if day<1 or day>31:

? ? print "day must in 1-31"

運行一下程序:

發(fā)現(xiàn)一個問題:月份判斷沒有問題绰姻,但是日期判斷有問題枉侧,因為日期并不是每個月都是31天,根據(jù)月份不同狂芋,日期可能有30天或者31天榨馁,或者28天,如何檢查呢

判斷修改如下:

if month<1 or month>12:

? ? print "month must in 1-12"

else:

? ? if month==2:

? ? ? ? if day<1 or day>28:

? ? ? ? ? ? print "day must in 1-28"

? ? elif month==4 or month==6 or month==9 or month==11:

? ? ? ? if day<1 or day>30:

? ? ? ? ? ? print "day must in 1-30"

? ? else:

? ? ? ? if day<1 or day>31:

? ? ? ? ? ? print "day must in 1-31"

代碼如下:

運行結(jié)果如下:

星座如何判斷

輸入處理好了帜矾,接下來要如何進(jìn)行判斷呢翼虫?

首先是要知道12個星座對應(yīng)的日期分別是什么:

從這個表格里面屑柔,可以分析出一個規(guī)律來:在一個月里面,最多只可能有2種星座

例如珍剑,1月份掸宛,如果小于等于19日,則是摩羯座招拙,否則就是水瓶座

例如唧瘾,2月份,如果小于等于18日别凤,則是水瓶座饰序,否則就是雙魚座

以此類推,此規(guī)則具有一致性规哪,因此求豫,判斷代碼如下:

if month==1:

? ? if day<=19:

? ? ? ? xingzuo="mojie"

? ? else:

? ? ? ? xingzuo="shuiping"

elif month==2:

? ? if day<=18:

? ? ? ? xingzuo="shuiping"

? ? else:

? ? ? ? xingzuo="shuangyu"

......

最后將星座增加到輸出中

print "month:",month,"day:",day,"xingzuo:",xingzuo

完整的程序




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

?如何測試到每一種情況

程序很長,分支情況也特別多诉稍,測試需要盡量測試到每一種情況蝠嘉,程序的每一個分支都要走到

這里的星座可以這樣測試,按照表格當(dāng)中的星座次序從上往下測試均唉,每個星座測試4個日期

例如:白羊座是從3月21到4月20,那么開始日和結(jié)束日肯定要測試的肚菠,然后3月底日期舔箭,和4月1日

上面測試的日期就是3月21日,3月31日蚊逢,4月1日层扶,4月20日

依次類推,其他星座都測試4個日期烙荷,這樣可以盡量測試到所有的分支


課后作業(yè):

輸入一個年份镜会,判斷輸出閏年或者平年

提示1:閏年的規(guī)則,能被4整除的年份是閏年终抽,但要排除那些能被100整除并且不能被400整除的年份

提示2:判斷是否能整除戳表,利用求余運算符%,如果能被4整除昼伴,就是 x%4==0

例如:2016是閏年匾旭,2000年是閏年,2100年是平年

往期教程

0001 零基礎(chǔ)的小白能學(xué)會編程嗎圃郊?

0002 真的嗎价涝,700元的電腦可以學(xué)會編程?

0003 十分鐘組裝一臺電腦開始編程

0004 如何編寫人生的第一行代碼helloworld

0005 鍵盤打字如何練成像黑客一樣的飛速

0006 編程入門python語言之加法計算器

0007 編程入門python語言之四則運算器

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

0008 加減乘除也會算錯持舆?還要編寫程序測試色瘩?

因為教程是系列教程伪窖,前后關(guān)聯(lián)性非常強,請大家按照微信公眾號的發(fā)布時間先后次序進(jìn)行閱讀居兆。

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

作者簡介

學(xué)哥史辙,二十年編程經(jīng)驗汹买,歷任程序員,資深程序員聊倔,技術(shù)經(jīng)理晦毙,項目經(jīng)理,產(chǎn)品經(jīng)理耙蔑,系統(tǒng)架構(gòu)師见妒,IT總監(jiān)。愛好篆刻甸陌,閱讀须揣,美食。

微信號簡介

每天半小時零基礎(chǔ)學(xué)編程钱豁。大人可以學(xué)耻卡,小孩也可以學(xué)。練打字牲尺,用軟件卵酪,寫文檔,做網(wǎng)站谤碳,做App溃卡,編游戲,數(shù)據(jù)庫蜒简,玩硬件瘸羡,寫程序,3D打印搓茬,無人機犹赖,機器人。

html,css,javascript,python,php,java,swift,mysql,android,ios,raspberry pi,scratch. 微信公眾號搜索:零基礎(chǔ)學(xué)編程卷仑。

QQ群簡介

歡迎大家加入QQ群 603559164 零基礎(chǔ)學(xué)編程冷尉,交流學(xué)習(xí),共同進(jìn)步系枪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雀哨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雾棺,老刑警劉巖膊夹,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異捌浩,居然都是意外死亡放刨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門尸饺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來进统,“玉大人,你說我怎么就攤上這事浪听∶椋” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵迹栓,是天一觀的道長掉分。 經(jīng)常有香客問我,道長克伊,這世上最難降的妖魔是什么酥郭? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮愿吹,結(jié)果婚禮上不从,老公的妹妹穿的比我還像新娘。我一直安慰自己犁跪,他們只是感情好椿息,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著耘拇,像睡著了一般撵颊。 火紅的嫁衣襯著肌膚如雪宇攻。 梳的紋絲不亂的頭發(fā)上惫叛,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音逞刷,去河邊找鬼嘉涌。 笑死,一個胖子當(dāng)著我的面吹牛夸浅,可吹牛的內(nèi)容都是我干的仑最。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼帆喇,長吁一口氣:“原來是場噩夢啊……” “哼警医!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤预皇,失蹤者是張志新(化名)和其女友劉穎侈玄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吟温,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡序仙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鲁豪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片潘悼。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖爬橡,靈堂內(nèi)的尸體忽然破棺而出治唤,到底是詐尸還是另有隱情,我是刑警寧澤堤尾,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布肝劲,位于F島的核電站,受9級特大地震影響郭宝,放射性物質(zhì)發(fā)生泄漏辞槐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一粘室、第九天 我趴在偏房一處隱蔽的房頂上張望榄檬。 院中可真熱鬧,春花似錦衔统、人聲如沸鹿榜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舱殿。三九已至,卻和暖如春险掀,著一層夾襖步出監(jiān)牢的瞬間沪袭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工樟氢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冈绊,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓埠啃,卻偏偏與公主長得像死宣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子碴开,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

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