Python语言基础
Python语言基础
本关任务:编写一个好友名单管理的小程序。可以实现对名单的增删改查。
列表的增删改查 好友名单管理
#1.请在好友名单尾部添加一个好友 曾海洋
#2.请在好友名单开头添加一个好友 胡波
#.请将首个王姓好友的名字修改为 王仁 。
#4.删除首个赵姓好友
#建立初始名单
nameList=eval(input())
############begin###############
#1.请在好友名单尾部添加一个好友 曾海洋
nameList.append( 曾海洋 )
############end#############################begin############
#2.请在好友名单开头添加一个好友 胡波
nameList.insert(0, 胡波 )
##############end#########################begin###########
#.请将首个王姓好友的名字修改为 王仁 。
for i in nameList:a=str(i)if 王 in a:#nameList.insert(nameList.index(a), 王仁 )n=nameList.index(i)nameList[n] = 王仁 break
#############end#########################begin################
#4.删除首个赵姓好友
for l in nameList:b=str(l)if 赵 in b:nameList.remove(b)break
###########end#################
print(nameList)
本关任务:对列表数据进行统计与排序。 请充分利用列表自带的函数来完成操作,以便简化程序的编写
列表的排序 对一个班的学生的数学成绩进行排序,并进行简单的统计。
scores=eval(input())#录入多名学生的成绩#########begin############
#1. 请出最高分并输出
m=max(scores)
print(m)
##########end#######################begin###########
#2. 请出最低分并输出
n=min(scores)
print(n)
###########end#######################begin############
#. 请求出班级平均分并输出(保留4位小数)
a=sum(scores)/len(scores)
print( {:.4f} .format(a))
###########end##########################begin###########
#4.对分数进行升序排序并输出排序后的结果
scores.sort()
print(scores)
############end############
本关任务:熟练掌握列表的索引切片操作。 请充分利用列表自带的函数来完成任务,以便简化程序的编写。
列表索引切片 对学生成绩进行降序排序,输出前三名的成绩,以及后三名的成绩,以及去掉一个最高的去掉一个最低分之后的成绩均值。
#已录入的10名学生的成绩
scores=eval(input())#录入多名学生的成绩
##########begin###########
#1. 请对scores进行降序排序,并输出降序排列之后的结果
scores.sort(reverse=True)
print(scores)
##########end######################begin############
#2.请出前三名的成绩,并按降序输出
l=scores[0::1]
print(l)
##########end#######################begin###########
#. 请出后三名的成绩,并按降序输出
i=scores[-::1]
print(i)
###########end#######################begin############
#4.请求出去掉一个最高分以及去掉一个最低分之后的成绩均值,并输出该均值(保留4位小数)
del scores[0]
del scores[-1]
a=sum(scores)/len(scores)
print( {:.4f} .format(a))
###########end##############
本关任务:利用嵌套列表来存放一个矩阵,并进行相关的操作。
矩阵是指m行n列的数据,为简单起见,让所有输入矩阵数据的列数大于行数,即n>=m。下面以一个矩阵为例,讲解题目要求: 假设如下图所示的行4列矩阵:
可以使用如下的列表嵌套: [[9, 15, 64, 28],[89, 9, 29, 8],[7, 0, 40, 6]]
第1题:求矩阵中所有数据的最大值,并输出该最大值
第2题:求出矩阵对角线元素(行号等于列号的元素)的和,并输出该和值
第题:将矩阵上三角元素(列号大于等于行号的元素)全变为0值, 并输出该矩阵
第4题:取出矩阵的最后两行,并输出这两行
第5题:删除矩阵的最后一行,并输出删除最后一行之后的矩阵
方法一:numpy库方法
import numpy as np#计算矩阵的库
global tmp2
global lll
tmp1=-655000000000000000000
row=eval(input())#矩阵行数
list2D=[]#嵌套列表,用来存放一个矩阵数据
for i in range(row):#得到每行数据列表temp=eval(input())lll=len(temp)-1tmp2=max(temp)if tmp2>tmp1:tmp1=tmp2list2D.append(temp)#第1题:请对矩阵list2D中的数据求最大值,并输出该最大值
print((list2D))
#第2题:求出矩阵对角线元素的和,并输出该和值num = 0
for i in range(row):for j in range(row):a = list2D[i]b = a[j]if i == j:num = b
print(num)
#第题:将矩阵上三角元素全变为0值, 并输出该矩阵(m, k=0)
for i1 in range(row): #hangfor j1 in range(row): #lieif j1>=i1:list2D[i1][j1]=0
for uu in range(0,row):list2D[uu][lll]=0if row==4:try:list2D[uu][4]=0list2D[uu][5]=0list2D[uu][6]=0list2D[uu][7]=0list2D[uu][8]=0except:pass
for u in range(row):print(list2D[u]) #第4题:取出矩阵的最后两行,并输出这两行
print(list2D[-2])
print(list2D[-1])#第5题:删除矩阵的最后一行,并输出删除最后一行之后的矩阵
a=list2D.pop(-1)
for X in range(row-1):print(list2D[X])
方法二:循环嵌套列表方法
row=eval(input())
list2D=[]
for i in range(row):temp=eval(input())list2D.append(temp)m_max=-1e50
for l in list2D:if max(l)>m_max:m_max=max(1)
print(m_max)s=0
for i in range(row):s=list2D[i][i]
print(s)for i in range(row):for j in range(len(list2D[i])):if j>=i:list2D[i][j]=0
for x in list2D:print(x)for x in list2D[-2:]:print(x)del list2D[-1]
for x in list2D:print(x)
本关任务:列表的综合应用
根据提示,在右侧编辑器补充代码,完成程序的编写。
第一题:编程实现:在屏幕上输出杨辉三角形图形 例如 输入 6 输出结果为:
提示:每行数据就是一个单列表,多行数据构成列表的嵌套
方法一:
#列表综合案例1:输出杨辉三角形(列表的嵌套)
n = eval(input()) #num为杨辉三角的行数t=[]
print( [1] )
for i in range(n):r=[1]t.append(r)if i ==0 :continuefor j in range(i-1):r.append(t[i-1][j]t[i-1][j1])r.append(1)print(r)
方法一没有实现第一层的循环,故单独输出 [1]
方法二:(最精简版)
lo=[]
for i in range(num):li=[]for j in range(i1):li.append(1)#先用1表示出形状lo.append(li)
for i in range(2,num):
#for i in range(2,mum):#对最外层循环for j in range(1,i):lo[i][j]=lo[i-1][j-1]lo[i-1][j]#第i行的第j个=上一行的前一个加上一行的这个
for i in range(num):print(lo[i])
第二题:约瑟夫问题
n个人按1,2,,… ,n编号,并顺序围坐一圈。开始按照1,2,,… ,m 报数,凡报到 m 的出列,直到所有人出列为止。 算法如下: 1)建立一个列表lb存放n个值 2)遍历该列表,从1开始计数,到第m个值将其从列表删除。然后继续从1开始计数,数到第m个值将其从列表删除。 )以此类推,直到列表中没有元素为止 编写程序,输入人数n和序号m,输出出圈的序号。 测试输入: 6,4 预期输出: [4, 2, 1, , 6, 5]
方法一:(方便理解版)
#n代表总人数,m代表出圈间隔序号数
n,m=eval(input()) #n代表总人数,m代表出圈间隔序号数
result=[] #出圈列表blist=list(range(1,n1))
cal=0
while blist:tmp=blist.pop(0) #取出第一个数cal=1if cal==m:result=result[(tmp)]cal=0 #继续从1开始计数continueblist.append(tmp) #将原来的第一个数放到列表最后if len(result)==n: #所有人出圈breakprint(出圈列表:)
print (result)
方法二:(最精简版)
n,m=eval(input())
result=[]
ls=list(range(1,n1))#实现闭环
for i in range(n):##出去n个人循环n次for j in range(m-1):#每次循环m个人ls.append(ls.pop(0))##第一个人出列result.append(ls.pop(0))##出列的人
print(出圈列表:)
print (result)
三连一下呗。
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 18 条评论) |
本站网友 黑客浏览器 | 7分钟前 发表 |
list2D[i1][j1]=0 for uu in range(0 | |
本站网友 凡眼 | 29分钟前 发表 |
li.append(1)#先用1表示出形状lo.append(li) for i in range(2 | |
本站网友 完美产品介绍 | 24分钟前 发表 |
nameList.remove(b)break ###########end################# print(nameList) 第2关:列表数据的统计与排序 本关任务:对列表数据进行统计与排序 | |
本站网友 gilt | 20分钟前 发表 |
并输出该矩阵 第4题:取出矩阵的最后两行,并输出这两行 第5题:删除矩阵的最后一行 | |
本站网友 kaqi | 26分钟前 发表 |
print(list2D[X]) 方法二:循环嵌套列表方法 row=eval(input()) list2D=[] for i in range(row) | |
本站网友 药物滥用是指 | 15分钟前 发表 |
i) | |
本站网友 近视眼激光 | 28分钟前 发表 |
lo[i][j]=lo[i-1][j-1]lo[i-1][j]#第i行的第j个=上一行的前一个加上一行的这个 for i in range(num) | |
本站网友 石河子二手房 | 6分钟前 发表 |
m 报数,凡报到 m 的出列,直到所有人出列为止 | |
本站网友 咖啡店装修 | 21分钟前 发表 |
并输出该矩阵 第4题:取出矩阵的最后两行,并输出这两行 第5题:删除矩阵的最后一行 | |
本站网友 二七房屋出租 | 23分钟前 发表 |
#每次循环m个人ls.append(ls.pop(0))##第一个人出列result.append(ls.pop(0))##出列的人 print(出圈列表 | |
本站网友 男胎儿小鸡b超显示图 | 26分钟前 发表 |
并输出删除最后一行之后的矩阵 方法一:numpy库方法 import numpy as np#计算矩阵的库 global tmp2 global lll tmp1=-655000000000000000000 row=eval(input())#矩阵行数 list2D=[]#嵌套列表,用来存放一个矩阵数据 for i in range(row) | |
本站网友 高新技术企业认定专项审计指引 | 15分钟前 发表 |
请充分利用列表自带的函数来完成任务,以便简化程序的编写 | |
本站网友 长沙市妇科医院 | 13分钟前 发表 |
#hangfor j1 in range(row) | |
本站网友 阴齿2 | 7分钟前 发表 |
第一题:编程实现:在屏幕上输出杨辉三角形图形 例如 输入 6 输出结果为: 提示:每行数据就是一个单列表,多行数据构成列表的嵌套 方法一: #列表综合案例1:输出杨辉三角形(列表的嵌套) n = eval(input()) #num为杨辉三角的行数t=[] print( [1] ) for i in range(n) | |
本站网友 腾讯京东 | 23分钟前 发表 |
为简单起见,让所有输入矩阵数据的列数大于行数,即n>=m | |
本站网友 视网膜脱离 | 0秒前 发表 |
本站网友 完善制度建设 | 26分钟前 发表 |
列表索引切片 对学生成绩进行降序排序,输出前三名的成绩,以及后三名的成绩,以及去掉一个最高的去掉一个最低分之后的成绩均值 |