1. 程式人生 > >學了5天的作業

學了5天的作業

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天的作業