您现在的位置是:首页 > 数码 > 

Python语言基础

2025-07-21 08:53:49
Python语言基础 第1关:列表的增删改查 本关任务:编写一个好友名单管理的小程序。可以实现对名单的增删改查。 列表的增删改查 好友名单管理 #1.请在好友名单尾部添加一个好友 曾海洋 #2.请在好友名单开头添加一个好友 胡波 #.请将首个王姓好友的名字修改为 王仁 。 #4.删除首个赵姓好友 #建

Python语言基础

第1关:列表的增删改查

本关任务:编写一个好友名单管理的小程序。可以实现对名单的增删改查。

列表的增删改查 好友名单管理

#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)
第2关:列表数据的统计与排序

本关任务:对列表数据进行统计与排序。 请充分利用列表自带的函数来完成操作,以便简化程序的编写

列表的排序 对一个班的学生的数学成绩进行排序,并进行简单的统计。

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##############
第4关:嵌套列表

本关任务:利用嵌套列表来存放一个矩阵,并进行相关的操作。

矩阵是指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)      
第5关:列表综合应用

本关任务:列表的综合应用

根据提示,在右侧编辑器补充代码,完成程序的编写。

第一题:编程实现:在屏幕上输出杨辉三角形图形 例如 输入 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组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/794856.html

相关标签:无
上传时间: 2024-01-10 12:08:59
留言与评论(共有 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分钟前 发表
列表索引切片 对学生成绩进行降序排序,输出前三名的成绩,以及后三名的成绩,以及去掉一个最高的去掉一个最低分之后的成绩均值