赞
踩
第1关 订单列表计算排序
- dd=[["1001","练习本",5,10],["1002","水彩笔",35,3],["1003","三角板",20,5],
- ["1004","练习本",5,2],["1005","三角板",20,3],["1006","圆珠笔",5,10],
- ["1007","水彩笔",35,2],["1008","圆珠笔",5,1]]
- #代码开始
- # 计算每个订单的金额(单价*数量),加入到每个订单的最后
- for order in dd:
- order.append(order[2] * order[3])
-
- # 将订单按金额降序排列
- dd.sort(key=lambda x: x[-1], reverse=True)
-
- # 将订单金额最高的三个订单显示出来
- top_3_orders = dd[:3]
-
- # 输出结果
- for order in top_3_orders:
- print(f"订单号{order[0]}金额{order[-1]}")
- #代码借书
第2关 固定资产折旧计算
- yj=eval(input('输入原价'))
- cz=eval(input('输入预计净残值'))
- nx=eval(input('输入年限'))
- zjxx=[]
- sum=0
- #代码开始
- for i in range(1, nx+1):
- n = nx * (nx + 1) / 2 # 预计使用寿命的年数总和
- zj = yj - cz # 原价减去预计净残值
- nzzj = zj * (nx - i + 1) / n # 年折旧率
- sum += nzzj
- z = yj - sum
- zjxx.append([i, nzzj, z])
- #代码结束
- sum=z=0
- for x in zjxx:
- print("第{}年折旧{:.2f}剩余价值{:.2f}".format(x[0],x[1],x[2]))
第3关 股票信息二维列表
- f1=open("step4//股票信息.csv","r",encoding="utf8")
- gpxx=[]
- #代码开始
- for line in f1:
- # 忽略标题行,只处理数据行
- if '股票代码' in line:
- continue
- # 分割每行的数据
- parts = line.strip().split(',')
- # 提取股票名称、价格和涨跌幅
- name = parts[1] # 股票名称
- price = float(parts[2]) # 股票价格
- change_percent = float(parts[3]) # 涨跌幅
- # 计算涨跌金额
- change_amount = round(price * change_percent / 100, 2)
- # 添加到股票信息列表
- gpxx.append([name, change_amount])
- # 根据涨跌金额进行降序排序
- gpxx.sort(key=lambda x: x[1], reverse=True)
-
- #代码结束
- for i in range(10):
- print("股票名称{}涨跌金额{:.2f}".format(gpxx[i][0],gpxx[i][1]))
- f1.close()
第4关 三国演义章节列表
- f1=open("step5/三国演义.txt","r",encoding="utf8")
- zjlb=[]
- #代码开始
- for line in f1:
- # 检查是否是章节的标题行
- if line.startswith("正文 "):
- parts = line.strip()[3:].split(" ")
- if len(parts) >= 3:
- chapter_number = parts[0]
- upper_half = parts[1]
- lower_half = parts[2]
- zjlb.append([chapter_number, upper_half, lower_half])
- #代码结束
- f1.close()
- n=eval(input())
- for i in range(n):
- x=zjlb[i]
- print(x)
第5关 学生成绩计算
- import csv
- f1=open("step6/学生成绩.csv")
- xslb=[]
- #代码开始
- reader = csv.reader(f1)
- next(reader) # 跳过标题行
- for row in reader:
- name = row[0] # 学生姓名
- usual_score = float(row[1]) # 平时成绩
- final_score = float(row[2]) # 期末成绩
- total_score = usual_score * 0.4 + final_score * 0.6 # 计算期评成绩
- xslb.append([name, total_score])
- # 根据期评成绩降序排序
- xslb.sort(key=lambda x: x[1], reverse=True)
- #代码结束
- n=eval(input())
- for i in range(n):
- print("第{}名姓名{}成绩{:.2f}".format(i+1,xslb[i][0],xslb[i][1]))
第6关 选择题判断
- f1=open("step7/选择题.txt",encoding="utf8")
- zlb=[]
- for line in f1:
- tm=line.strip().split(",")
- zlb.append(tm)
- #代码开始
- # 获取用户输入的题号
- question_number = int(input("请输入题号")) - 1 #用户输入的题号通常是从1开始的,而列表索引是从0开始的,所以要减1
- # 显示题目和选项
- question = zlb[question_number]
- print(question[0]) # 题面
- print("A", question[1], sep="") # 选项A
- print("B", question[2], sep="") # 选项B
- print("C", question[3], sep="") # 选项C
- print("D", question[4], sep="") # 选项D
- # 获取用户输入的答案
- user_answer=input("").strip().upper() # 将用户输入的答案转换为大写,并去除可能的空格
- # 判断答案是否正确
- if user_answer == question[5].strip(): # 去除正确答案中可能的空格
- print("答案正确")
- else:
- print("答案错误,正确答案是{}".format(question[5]))
- #代码结束
第7关 简答题判断
- f1=open("step8/简答题.txt",encoding="utf8")
- zlb=[]
- for line in f1:
- tm=line.strip().split(",")
- zlb.append(tm)
- #代码开始
- # 获取用户输入的题号
- question_number = int(input("请输入题号")) - 1 #用户输入的题号通常是从1开始的,而列表索引是从0开始的,所以要减1
- # 显示题面
- question = zlb[question_number]
- print(question[0]) # 题面
-
- # 获取用户输入的答案
- user_answer = input("").strip()
-
- # 判断答案是否正确
- if question[1].strip() in user_answer: # 检查正确答案是否包含在用户的答案中
- print("答案正确")
- else:
- print("答案错误,正确答案是{}".format(question[1]))
- #代码结束
第8关 二维矩阵求峰值
- m = eval(input("行"))
- n = eval(input("列"))
- lb = []
- lb2 = []
- for i in range(m):
- x = []
- for j in range(n):
- y = eval(input())
- x.append(y)
- lb.append(x)
- # 代码开始
- def is_peak(matrix, i, j):
- if i > 0 and matrix[i][j] < matrix[i-1][j]:
- return False
- if i < m-1 and matrix[i][j] < matrix[i+1][j]:
- return False
- if j > 0 and matrix[i][j] < matrix[i][j-1]:
- return False
- if j < n-1 and matrix[i][j] < matrix[i][j+1]:
- return False
- return True
- for i in range(m):
- for j in range(n):
- if is_peak(lb, i, j):
- lb2.append(lb[i][j])
- # 代码结束
- print(lb2)
第9关 二维矩阵求谷值
- m = eval(input("行"))
- n = eval(input("列"))
- lb = []
- lb2 = []
-
- for i in range(m):
- x = []
- for j in range(n):
- y = eval(input())
- x.append(y)
- lb.append(x)
-
- # 代码开始
- def is_valley(matrix, i, j):
- if i > 0 and matrix[i][j] > matrix[i-1][j]:
- return False
- if i < m-1 and matrix[i][j] > matrix[i+1][j]:
- return False
- if j > 0 and matrix[i][j] > matrix[i][j-1]:
- return False
- if j < n-1 and matrix[i][j] > matrix[i][j+1]:
- return False
- return True
-
- for i in range(m):
- for j in range(n):
- if is_valley(lb, i, j):
- lb2.append(lb[i][j])
- # 代码结束
-
- print(lb2)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。