0
点赞
收藏
分享

微信扫一扫

python学习之路——组合数据类型

往复随安_5bb5 2022-03-22 阅读 41
python

目录

列表操作

返回列表中最大和第二大的元素的值

计算指定的年月日是这一年的第几天

打印杨辉三角


列表操作

'''
将array依次执行以下操作
1.把列表中的元素升序排序。
2.删除列表中的最后一个元素。
3.把列表中第一个元素移动到列表尾部。
4.返回新列表。
'''
#***********begin************#
array = [85,96,2,5,3,566,0,91,5234,5555,89,62,34]
array.sort()
array.pop()
x = array.pop(0)
array.append(x)
print(array)
#***********end************#

返回列表中最大和第二大的元素的值

#x为传入的列表,完成函数编写,使其返回列表中最大值和第二大的值

def max2(x):
    x.sort()
    m2 = x.pop()
    m1 = x.pop()
    return m1,m2  #m1是第二大的值,m2是最大值

计算指定的年月日是这一年的第几天

def is_leap_year(year):
    """
    判断指定的年份是不是闰年

    :param year: 年份
    :return: 闰年返回True平年返回False
    """
    if (year%4 == 0)and(year%100 != 0):
        return True
    else:
        return False
def which_day(year, month, date):
    """
    计算传入的日期是这一年的第几天

    :param year: 年
    :param month: 月
    :param date: 日
    :return: 第几天
    """
    
    month_have_31 = [1,3,5,7,8,10,12]
    month_have_30 = [4,6,9,11]   
    if(month == 1):
        return date
    elif(month == 2):
        return date + 31
    else:
        big_month = 0
        little_month = 0
        for i in month_have_31:
            if i < month:
                big_month += 1
            else:
                break
        for j in month_have_30:
            if j < month:
                little_month += 1
        return big_month*31 + little_month*30 + (29 if is_leap_year(year) else 28) + date

打印杨辉三角

#打印杨辉三角
#(不需返回函数值,直接打印)
def printYH(num):
    ''':param num: 杨辉三角行数'''

    list = []
    for n in range (num):
        row = [1]
        list.append(row)

        if n==0:
            for i in row:
                print(i,end = '\t')
                print()
            continue
        for m in range(1,n):
            row.append(list[n-1][m-1]+list[n-1][m])
        row.append(1)

        for i in row:
            print(i,end = '\t')
        print() 




举报

相关推荐

0 条评论