python列表与元组的用法
程序员文章站
2023-02-20 22:37:35
python列表与元组的用法 目录: 列表的用法: 1.增 append + extend 2.删 del remove 3.改 insert 4.查 index 5.反向 reverse 6.排序 sort 元组的用法: count:计算某个元素出现的个数 index:查 1.列表的用法 成绩管理 ......
python列表与元组的用法
目录:
列表的用法:
1.增 append + extend
2.删 del remove
3.改 insert
4.查 index
5.反向 reverse
6.排序 sort
元组的用法:
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("姓名\t\t科目一\t\t科目二") for i in list1: #遍历原始表 print(i[0],i[1],i[2],sep="\t\t") print("成绩表".center(40,"*")) print("姓名\t科目一\t科目二\t总分\t排名") 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="\t")
运行效果如下:
方法二:
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("姓名\t\t科目一\t\t科目二") for record in list1: print(record[0],record[1],record[2],sep="\t\t") print("成绩表".center(50,"*")) result=[] print("姓名\t\t科目一\t科目二\t总分\t排名") 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='\t')
运行效果如下:
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)