十二届蓝桥杯Python组3月中/高级试题 第四题

2024-05-09 18:44

本文主要是介绍十二届蓝桥杯Python组3月中/高级试题 第四题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**

十二届蓝桥杯Python组3月中/高级试题 第四题

**


第四题(难度系数 4,30 个计分点)
编程实现:
给定一组包含n个(n>3) 正整数数据,和一个正整数M,从这n个正整数中任意拿出两个数相
加,相加后的结果正好为M的值,计算出这n个正整数中有多少组这样的数据。

例如:
给定一组正整数为:1, 3, 2, 4,正整数M为 3,其中有1组符合要求,为1和2
给定一组正整数为:2, 7, 11, 6, 13,正整数M为 13,其中有2组符合要求,分别为 2 和11,7
和 6
输入描述:第一行输入n个正整数,正整数之间英文逗号隔开(正整数不能有重复,且n>3)
第二行输入一个正整数M 输出描述:输出n个正整数中两个数相加的结果正好为M的组合有几组

样例输入:2, 7, 11, 6, 13
13
样例输出:2


这道题涉及到以下知识点:
1.输入处理:使用 input() 函数获取用户输入的一组正整数和目标正整数 M。通过 split(', ') 方法将输入的字符串按逗号分隔转换为列表形式,然后使用 int() 函数将列表中的字符串元素转换为整数。
2.列表操作:对输入的整数列表进行遍历和操作。利用列表的索引和切片来获取组合的两个数。
3.循环结构:使用嵌套的 for 循环遍历所有可能的数对组合。外层循环控制第一个数的索引,内层循环控制第二个数的索引,确保不会重复计算相同的数对组合。
4.条件判断:在循环中使用条件语句 if 判断两个数相加是否等于目标正整数 M。
5.变量的使用:使用 count 变量来统计符合条件的数对组合的数量。
输出结果:使用 print() 函数输出最终的统计结果。
6。这道题目考察了对列表操作、循环结构和条件判断的掌握,以及如何处理输入和输出。同时,也需要考虑对整数的处理和变量的使用。


版本1

# 完成字符串的输入
a = input()
sum_1 = int(input())    # 输入想要得到的数字 并且完成将字符串类型转化为整数型
# 将字符串输入的格式去除符号', '
# 这个符号最好是直接进行粘贴的操作,因为自己写可能会出现错误
a = a.split(', ')# 将完成除去部分符号的字符串转化为列表形式 并且将数据类型转化为整数型
list_1 = [int(i) for i in a]# 记录满足题意的个数
lable = 0# 进行遍历操作
for i in list_1:for j in list_1:# 假如没有 i < j 会造成计算了两倍 # 因为2 + 7与 7 + 2在题意中属于一种情况if (j + i) == sum_1 and i < j:lable += 1print(lable)

版本2

# 获取输入
nums = input("请输入一组正整数,用逗号隔开:").split(', ')  # 将输入的字符串以逗号分隔,并转换为列表
M = int(input("请输入一个正整数M:"))  # 获取目标正整数M# 将输入的字符串列表转换为整数列表
nums = [int(num) for num in nums]# 计数符合条件的组合数
count = 0# 遍历所有可能的组合
for i in range(len(nums)):for j in range(i + 1, len(nums)):# 如果两个数相加等于目标正整数M,则符合条件,计数器加1if nums[i] + nums[j] == M:count += 1# 输出结果
print("输出n个正整数中两个数相加的结果正好为M的组合有{}组".format(count))

这篇关于十二届蓝桥杯Python组3月中/高级试题 第四题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974195

相关文章

STM32 TIM1高级定时器配置快速入门

layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true重点内容时基单元计数模式 重点内容 不管是基于标准库还是直接操作寄存器,因为TIM定时器的功能比较多,这里单纯只从定时器的角度进行学习,这里需要重点关注的地方应该有以下几点: 定时器时钟频率的计算

Zen of Python -Python之禅

在浏览Python官方文档时无意发现了这个彩蛋,只需在终端中import this The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than compli

Python内置函数oct()详解

Python中的oct()函数是一个内置函数,用于将一个整数转换成它的八进制字符串表示。 函数定义 oct()函数的基本语法如下: oct(x) x:一个整数。 函数返回x的八进制表示,以字符串形式。 基本用法 将整数转换为八进制 number = 64print(oct(number)) # 输出: '0o100' 转换负整数 number = -64print(o

Python筑基之旅-溯源及发展

目录 一、Python的起源 二、Python的版本更替及变化 三、Python的优缺点 四、Python的发展方向 五、Python之禅 六、推荐专栏/主页: 1、Python函数之旅:Functions 2、Python算法之旅:Algorithms 3、个人主页:https://myelsa1024.blog.csdn.net/ ​​​​​​​ 一、Python

Python专题:十六、异常处理(2)

异常的预判和防护 import randomnum = random.randint(1, 100) # 获得一个随机数is_done = False # 是否猜中的标记count = 0 # 玩家猜了几次while not is_done:guess = int(input('请输入一个[1, 100]的整数:'))if guess == num:is_done = Trueelif

理解 Python 中的 `super()` 与 `__init__()` 方法

在 Python 的面向对象编程中,super() 函数和 __init__() 方法是两个非常重要的概念。它们在类的继承和初始化过程中扮演着关键的角色。本文将深入探讨这两个概念的工作原理,并通过示例代码来展示它们的使用。 基本原理 __init__() 方法 __init__() 是一个特殊的方法,也称为类的构造器。当你创建一个类的新实例时,Python 会自动调用这个方法。它通常用于初始

python 合并 pdf

from pypdf import PdfMergerpdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']merger = PdfMerger()for pdf in pdfs:merger.append(pdf)merger.write("result.pdf")merger.close() 参考 https://stack

Python——IO编程

IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。 比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是往外发数据,叫Output,随后新浪服务器把网页发过来,

python 脚本压缩文件linux 正常,windows 文件夹/文件名称 被加上了上级文件夹名

场景: php 在调用python 脚本,进行文件压缩(因为php的压缩大文件总是超时),linux/mac 环境文件/文件夹名压缩前后一致,windows 压缩后 文件/文件夹名被改变为 上级 文件夹+原名 原因: windows 和 mac、linux 文件路径的分隔符 不一样 解决: 使用php 自带的分隔符常量DIRECTORY_SEPARATOR,该常量会根据 不同系统,变化

Python简易图书管理系统重构

在本篇课文中,我们将使用Python语言结合MySQL数据库,从零开始构建一个简单的图书管理系统。该系统旨在帮助图书馆管理员轻松管理图书的借阅、归还以及查询图书信息等日常操作。我们将分步介绍需求分析、数据库设计、环境搭建、功能实现等关键环节,并提供详细的源代码示例。 #### **一、需求分析** 图书管理系统的核心功能包括: - 图书录入:允许管理员添加新书到系统。 - 图书查询:提供按书名