首页 > 编程语言 >Python模拟A卷实操题

Python模拟A卷实操题

时间:2024-11-12 22:16:03浏览次数:3  
标签:输出 product Python max sum 数组 卷实 操题 输入

1.某机械公司生产两种产品。A的单件利润分别是100元,B的单件利润是150元。 每种产品由三种材料构成,现给出每种材料的库存(库存小于100000),求利润最大的生产方案。输入说明:第一行给出生产每件A产品所需要的三种材料数量;第二行给出生产每件B产品所需要的三种材料数量;第三行给出三种材料的库存数量。输出说明:输出利润最大生产方案所对应的每种产品的生产数量(按照产品A、产品B的顺序)和利润最大值,每个数值间用空格隔开。输入样例:3125223046输出样例:21350。

# 导入线性规划求解库
from scipy.optimize import linprog
# 输入数据
# 每件产品A所需的三种材料数量
a_materials = [3, 1, 2]
# 每件产品B所需的三种材料数量
b_materials = [5, 2, 3]
# 三种材料的库存数量
material_stock = [30, 4, 6]
# 产品A和B的利润
profit = [100, 150]
# 将目标函数的系数取负,因为 linprog 默认求解最小值问题
c = [-profit[0], -profit[1]]
# 不等式约束矩阵,表示材料的使用限制
A = [
    [a_materials[0], b_materials[0]],  # 材料一的约束
    [a_materials[1], b_materials[1]],  # 材料二的约束
    [a_materials[2], b_materials[2]]   # 材料三的约束
]
# 不等式约束向量
b = material_stock
# 变量的取值范围,x >= 0
x_bounds = (0, None)
# 求解线性规划问题
res = linprog(c, A_ub=A, b_ub=b, bounds=[x_bounds, x_bounds], method='highs')
# 输出结果
if res.success:
    num_A, num_B = res.x
    max_profit = -res.fun
    print(f"最优生产方案:生产产品A的数量为 {int(num_A)},生产产品B的数量为 {int(num_B)}")
    print(f"最大利润为:{max_profit}")
else:
print("未找到最优解")

(1)输入数据:定义每个产品A和B所需的三种材料数量、材料的库存数量以及产品A和B的利润。

(2)目标函数:linprog默认求解最小化问题,将利润系数取反,求最大化利润。

(3)约束条件:每种材料的使用量不能超过库存量。

(4)求解问题:使用linprog求解最优生产方案。

(5)输出结果:打印最优生产方案和最大利润。

2.输入一个包含N个整数的数组,从中找到连续M个数之积最小的数字组合。输入说明:第一行是两个正整数N(N<200) 和M(M<10);第二行是N个整数(每个数字Ni都是整数,且INil<1000),中间用空格分开。输出说明:最小的M个连续数字积及第一个数在数组中的位置(初始位置按1进行计算)。输入样例:10412345678910输出样例:241。

# 输入处理
n, m = map(int, input().split())
array = list(map(int, input().split()))

# 初始化最小乘积和对应的起始位置
min_product = float('inf')
min_index = -1

# 遍历数组,找出连续 m 个数的最小乘积
for i in range(n - m + 1):
    product = 1
    for j in range(m):
        product *= array[i + j]
    if product < min_product:
        min_product = product
        min_index = i + 1  # 转换为从 1 开始计数

# 输出结果
print(min_product, min_index)

(1)输入处理:首行输入包含两个正整数 N 和 M,表示数组长度和需要寻找的连续元素个数;第二行输入是包含 N 个整数的数组。

(2)最小乘积计算:通过遍历数组,找出所有长度为 M 的连续子数组,并计算它们的乘积,更新最小乘积及其起始位置。

(3)输出结果:输出最小乘积及其起始位置(位置从 1 开始计数)。

3.输入一个包含N个整数的数组,从中找到连续M个数之和最大的数字组合。输入说明:第一行是两个正整数N(N<200)和M(M<20)第二行是N个整数(每个数字Ni都是整数,且Nil<100000),中间用空格分开输出说明:最大的M个连续数字和及第一个数在数组中的位置(初始位置按1进行计算)。输入样例10412345678910输出样例:347。

# 输入处理
n, m = map(int, input().split())
array = list(map(int, input().split()))

# 初始化最大和及其对应的起始位置
max_sum = float('-inf')
max_index = -1

# 遍历数组,找出连续 m 个数的最大和
for i in range(n - m + 1):
    current_sum = sum(array[i:i + m])
    if current_sum > max_sum:
        max_sum = current_sum
        max_index = i + 1  # 转换为从 1 开始计数

# 输出结果
print(max_sum, max_index)

(1)输入处理:第一行输入包含两个正整数 N 和 M,表示数组长度和需要寻找的连续元素个数;第二行输入是包含 N 个整数的数组。

(2)最大和计算:通过遍历数组找出所有长度为 M 的连续子数组,并计算它们的和,更新最大和及其起始位置。

(3)输出结果:输出最大和及其起始位置(位置从 1 开始计数)。

4.给定两个整数N和M(0<n<m<100000),求n到m中满足如下条件的数字,该数字与相邻的前、后数字之和可以被5整除,比如n=4,m=11时,5、10是满足条件的,而6、7、8、9不满足,4和11因为前、后数字不在1到n中,不参与统计。=""输入说明:两个正整数n和m(n<m<100000)=""输出说明:满足要求的数字,如果有多个满足条件的数字,按出现次序输出前3个,如果不足3个,用-1补充。=""输入样例1:14=100=""输出样例1:15=""20=""25=""输入样例2。

# 输入处理
n, m = map(int, input().split())

# 满足条件的数字列表
result = []

# 遍历 n 到 m 范围内的所有数字
for i in range(n, m + 1):
    last_digit = i % 10  # 获取数字的最后一位
    if last_digit != 0 and i % last_digit == 0 and i % 5 == 0:
        result.append(i)

# 如果找到的数字少于 3 个,使用 -1 填充
while len(result) < 3:
    result.append(-1)

# 输出前 3 个满足条件的数字
print(result[:3])

(1)输入处理:输入两个整数 N 和 M,表示范围 [N, M]。

(2)条件检查:遍历范围内的每个数字,检查最后一位不为 0、该数字能被其最后一位整除、并且能被 5 整除的条件。

(3)输出处理:如果找到的数字少于 3 个,则使用 -1 填充,最后输出前 3 个满足条件的数字。

标签:输出,product,Python,max,sum,数组,卷实,操题,输入
From: https://blog.csdn.net/m0_56065966/article/details/143725646

相关文章

  • Python模拟A卷选择题
    1.模块是构造程序的方式模块是Python中用来组织代码和功能的方式,可以将不同的功能分割到不同的模块中以便复用。2.每个Python程序文件都是一个模块在Python中,每个.py文件都可以看作是一个模块,可以被其他Python代码引入使用。3.可以使用import语句来引入模块import语句......
  • 【Python项目】基于Python高校学生学业预警系统
    技术简介:采用Python语言、Django框架、MYSQL数据库等实现。系统简介:管理员承担着教师的角色,管理员在该管理系统中能够对学生的信息进行维护和管理、对于学生的成绩进行查看和预警分析,能够对管理员自身的信息进行管理。学生、教师都会通过登录来实现高校学生学业预警系统的功能......
  • 【Python项目】基于深度学习的聊天机器人的设计与实现
    技术简介:采用Python语言、B/S框架、HTML技术、MYSQL数据库等实现。系统简介:系统的主要使用角色为普通用户和管理员用户,两者的功能几乎是一致的,但管理员用户比普通用户多了用户管理的功能,可以对系统内的用户进行管理。普通用户比管理员用户多了注册的功能,普通用户必须先经过注......
  • 【Python学习】Python csv 数据处理实例——bilibili 视频播放量跟踪
    1.理论知识准备在Python中,处理CSV(Comma-SeparatedValues)文件非常常见,因为CSV是一种广泛使用的数据交换格式。Python标准库中的csv模块提供了读取和写入CSV文件的功能。以下是一些基本的使用方法。读取CSV文件首先,确保你的CSV文件是有效的,并且你知道其中数......
  • 【python基础收尾篇】python基础试卷 #试卷分析
     python基础篇收尾了,让我们给自己一个检测吧!(后文解析)python基础试卷一、选择题【15*1=15分】1. Python中的“深拷贝”与“浅拷贝”不同在于:A.深拷贝比浅拷贝执行速度快B.深拷贝允许修改原始对象,而浅拷贝不允许C.深拷贝创建对象的副本及其嵌套对象的副本......
  • 【Playwright + Python】系列(十)利用 Playwright 完美处理 Dialogs 对话框
    哈喽,大家好,我是六哥!今天我来给大家分享一下如何使用playwight处理Dialogs对话框,面向对象为功能测试及零基础小白,这里我尽量用大白话的方式举例讲解,力求所有人都能看懂,建议大家先收藏,以免后面找不到。......
  • python-27-Python ORM系列之彻底搞明白ORM概念,对ORM进行封装结合FastAPI实现数据库的
    python-27-PythonORM系列之彻底搞明白ORM概念,对ORM进行封装结合FastAPI实现数据库的增删改查,联表查询等接口一.简介在Python基础系列ORM部分为大家介绍了如何搭建MySQL数据和MySQL一些访问配置,同时也介绍了pymysql库的封装来实现对数据库的增删改查功能,但是截止以上都没......
  • 第六课 Python之模块
    一、模块的介绍(1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句(2)python对象定义和python语句(3)模块让你能够有逻辑地组织你的python代码段。(4)把相关的代码分配到一个模块里能让你的代码更好用,更易懂(5)模块能定义函数,类和变量,模块里也能包含可执行的......
  • python 工作中常用技巧
    json格式化后中文乱码问题在Python中,使用json.dumps()将数据序列化为JSON字符串时,默认情况下,非ASCII字符(包括中文字符)会被转义为Unicode码点(例如\uXXXX)。这是为了确保生成的JSON字符串在任何环境中都是有效的,并且能够被正确解析。如果你希望生成的JSON字符串直接包含中文字符......
  • [AIGC]使用阿里云Paraformer语音识别录音识别 API 进行音频处理 —— 完整流程及代码
    文章目录一、前提准备1.阿里云账号2.开通录音识别服务3.获取APIKey和AccessToken二、阿里云录音识别API的主要功能介绍三、完整代码流程1.导入依赖库2.设置环境变量3.生成Token4.上传文件并发起识别请求4.1请求4.2请将'{api-key}'替换为你的apikey,'{ta......