zoukankan      html  css  js  c++  java
  • python列表与元组的用法

    python列表与元组的用法

    目录:

    列表的用法:

    1.增   append   +    extend

    2.删  del    remove

    3.改   insert

    4.查  index

    5.反向  reverse

    6.排序   sort

    7.列表生成式   #[i*i for i in range(10)]       [i*i for i in range(10) if i>5]

    元组的用法:

    count:计算某个元素出现的个数

    index:查

    1.列表的用法

    成绩管理系统

    方法一:

    #列表 成绩管理系统
    n=int(input("请输入学生人数:"))
    list1=[]
    for i in range(n):   #循环把输入的数加入到列表
        name=input("请输入姓名:")
        score=float(input("科目一的分数:"))
        score2=float(input("科目二的分数:"))
        list1.append([name,score,score2])
    print("原始成绩".center(40,"*"))
    print("姓名		科目一		科目二")
    for i in list1:   #遍历原始表
        print(i[0],i[1],i[2],sep="		")
    print("成绩表".center(40,"*"))
    print("姓名	科目一	科目二	总分	排名")
    result=[]
    for i in list1:   #计算总分并把总分加入到新的列表
        if i[1]>0 and i[2]>0:   #都有成绩才算总分
            sum=i[1]+i[2]
        else:
            sum=-1
        result.append([sum]+i)
    result.sort(reverse=1)      #对result列表进行从大到小排序
    for p in range(len(result)):   #排序
        if p==0:
            result[p]=result[p]+[p+1]   #如果为第一名,直接在对应的列表位置追加排名位
        if p>0:
            if result[p][0]==result[p-1][0]:    #如果存在下一位的数与上一位的数相等,则在尾部追加上一位的排名的数
                result[p]=result[p]+[result[p-1][-1]]   #前后总分相等时,排名一样
            else:
                result[p]=result[p]+[result[p-1][-1]+1]   #前后总分不同  #如果存在下一位的数与上一位的数不相等,则在尾部追加上一位的排名+1的数
                
    for i in result:
        print(i[1],i[2],i[3],i[0],i[4],sep="	")

    运行效果如下:

    方法二:

    import random
    print("学生成绩管理系统".center(50,'*'))
    n=int(input("请输入学生人数:"))
    list1=[]
    for i in range(n):
        name=("student"+str(i+1))
        score1=random.randint(-1,100)
        score2=random.randint(-1,100)
        zongf=score1+score2
        list1.append([name,score1,score2])
    print("原始成绩".center(50,"*"))
    print("姓名		科目一		科目二")
    for record in list1:
        print(record[0],record[1],record[2],sep="		")
    print("成绩表".center(50,"*"))
    result=[]
    print("姓名		科目一	科目二	总分	排名")
    for i in list1:
        if i[1]>0 and i[2]>0:
            zongf=i[1]+i[2]
        else:
            zongf=-1
        result.append([zongf]+i)
    result.sort(reverse=1)
    for p in range(len(result)):
        if p==0:
            result[p]=result[p]+[p+1]
        if p>0:
            if result[p][0]==result[p-1][0]:
                result[p]=result[p]+[result[p-1][-1]]
            else:
                result[p]=result[p]+[result[p-1][-1]+1]
    for i in result:
        print(i[1],i[2],i[3],i[0],i[4],sep='	')

    运行效果如下:

    2.元组的用法

    输入一个日期,计算该日期是当前的那一天

    #输入一个日期,计算该日期是当年的那一天
    year=int(input("Year:"))
    month=int(input("Month:"))
    day=int(input("Day:"))
    if year%400==0 or (year%4==0 and year%100!=0):
        days=(31,29,31,30,31,30,31,31,30,31,30,31)
    else:
        days=(31,28,31,30,31,30,31,31,30,31,30,31)
    res=sum(days[:month-1])+day
    print("该日期是本年的第%d天"%res)
  • 相关阅读:
    重要的API运算函数
    Chicken的代码解剖 :4 ChickenPawn_Chicken一小部分
    Chicken的代码解剖:5 Chicken中的两个接口及其相关
    项目实例:深投控股star rating评分插件
    项目实例:深投控股JQueryXmlMenu
    编程经验:VS2008注册方法
    编程经验:SQL Server Management Studio使用注意事项
    程序员面试题精选100题(07)翻转句子中单词的顺序
    程序员面试100题精选(8)
    Ogre框架的搭建过程
  • 原文地址:https://www.cnblogs.com/yuzly/p/10308799.html
Copyright © 2011-2022 走看看