學了5天的作業
阿新 • • 發佈:2018-02-24
str brush day 就是 閏年 cor 是否 作業 文件
# 寫一個程序,判斷2008年是否是閏年。 # 普通年(不能被100整除的年份)能被4整除的為閏年。(如2004年就是閏年,1999年不是閏年); # 世紀年(能被100整除的年份)能被400整除的是閏年。(如2000年是閏年,1900年不是閏年); def leap_year(year): L = [] if(year%4==0 ): a = True L.append(a) elif(year%400==0): b = True L.append(b) if(any(L)):#any()任意一個是true就是true print(year,‘是閏年‘) else: print(year, ‘不是閏年‘) leap_year(2000) # 寫一個程序,用於計算2008年10月1日是這一年的第幾天?(2008年1月1日是這一年的第一天) # #解題 思路:先把12個月的天數存一個數組中,1、3、5、7、8、10、12月為31天,2月份平年有28天,閏年有29天要先得出來,其它剩下的都是30天,, # 幾月份幾號是第幾天,判斷出之前的天數,再加上當月的幾日這幾天就行了。 def which_day(year, month, day): L = [31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] #第幾天 allday=0 #先把2月份的天數算出來,放在L的第二位上 if(year%4==0): L.insert(1,29) elif(year%400==0): L.insert(1,29) else: L.insert(1,28) print(‘L==‘,L) #幾月份幾號是第幾天,判斷出之前的天數,再加上當月的幾日這幾天就行了 for i in range(month-1): print(‘第‘,i+1,‘個月的天數是:‘,L[i]) allday +=L[i] print(allday) print(year,‘年‘,month,‘月‘,day,‘日是這一年中的第‘,allday,‘天!‘) which_day(2008,10,1) # 有一個record.txt的文檔,內容如下: # name, age, score # tom, 12, 86 # Lee, 15, 99 # Lucy, 11, 58 # Joseph, 19, 56 # 第一欄為姓名(name),第二欄為年紀(age),第三欄為得分(score) # 現在,寫一個Python程序, # 1)讀取文件 # 2)打印如下結果: # 得分低於60的人都有誰? # 誰的名字以L開頭? # 所有人的總分是多少? # 3)姓名的首字母需要大寫,該record.txt是否符合此要求? 如何糾正錯誤的地方? #解題思路:age沒用到啊,那麽讀取文件把一行中的名字和分數存為一個dict就好辦多了 def get_info(): f = open(‘mingan.txt‘,‘r‘) # print(f.readlines()) txtlist = f.readlines() #生成列表list txtlist.pop(0) #刪除標題第1行 # print(txtlist) dic={} for i in txtlist: # print(i.split(‘,‘)[0]) # 首字母是否大寫 if (i.split(‘,‘)[0].istitle()): i.split(‘,‘)[0].capitalize() # 按逗號分隔,取左右2列字段 dic[i.split(‘,‘)[0]] = i.split(‘,‘)[2] #給字典中添加元素 # print(dic) #計算低於60分的人 low_l =[] #統計首字母為L的人 L_name=[] #統計所有人的總分 sum_score=0 for key in dic: # print(type(dic[key])) if(int(dic[key]) < 60):#要把字符串轉為int才能比較 low_l.append(key) #誰的名字以L開頭 if(key[0:1] ==‘L‘): L_name.append(key) # 判斷是否所有姓名首字母都是大寫 if( str(key).istitle()): str(key).capitalize() #計算總分 sum_score +=int(dic[key]) print(‘低於60分的人有:‘,low_l) print(‘誰的名字以L開頭:‘,L_name) print(‘所有人的總分是:‘,sum_score) get_info()
學了5天的作業