判断三角形-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第12讲。

判断三角形,本题是2019年~2020年举办的第11届蓝桥杯青少组Python编程选拔赛真题(具体日期不详)。题目要求根据输入的3个正整数,判断以它们作为三条边的边长,能否形成一个三角形,并判断三角形的形状。

先来看看题目的要求吧。

一.题目说明

编程实现:

用户输入三个正整数,以逗号(英文标点)分隔,并判断以这三个正整数作为三条边的边长,能否形成一个三角形,并判断三角形的形状。

提示:

任意一个三角形中,两边之和大于第三边。

Python语法提示:

将三个以逗号分隔输入的整数,可以使用如下方法进行转换、分离:

str = input()

nums = eval(str)

输入描述:

一次将三个正整数输入,之间以逗号分隔。正整数的取值范围在1-200。

输出描述:

1). 以这三个正整数作为三条边的边长,如能形成三角形,则在第一行输出"能组成三角形";如不能,则输出"不能组成三角形";

2). 如果能组成三角形,并且为直角三角形,则在第二行输出"是直角三角形"。如果三角形为等腰三角形,则输出"是等腰三角形";如果不是以上两种情况,则输出"是普通三角形"。

样例1输入:

3, 4, 5

样例1输出:

边长为3, 4, 5的三条边能组成三角形

这个三角形是直角三角形

样例2输入:

4, 4, 6

样例2输出:

边长为4, 4, 6的三条边能组成三色形

这个三角形是等腰三角形

样例3输入:

4, 5, 9

样例3输出:

边长为4, 5, 9的三条边不能组成三色形

评分标准:

  • 30 分:能接受用户输人、并正确判断能否组成三角形,不论程序的输入输出格式是否正确;

  • 50分:在满足30 分的基础上,正确判断三角形的形状,且程序的输入输出格式符合样例要求。

二.思路分析

这是一道涉及数学和几何图形的编程题目,考查的知识点包括条件语句、常见运算符以及三角形相关知识。

我们从如下两个维度来分析本题:

  • 编程

  • 数学

1. 编程

从编程的角度来讲,这是一个典型的选择结构,为方便理解,可以绘制流程图如下:

图片

需要解决的问题有如下3个:

1). 如何获取输入数据

2). 怎么按照题目要求输出

3). 条件该怎么写

先看第一个问题,在Python编程中,使用input()函数获取的是字符串,本题输入的是3个数字,数字之间使用逗号隔开,因此需要使用split()函数进行分割,再使用列表推导式,得到3个整数,其代码如下:

a, b, c = [int(i) for i in input().split(",")]

这是获取用户输入数字的通用方法,一定要熟练掌握。

接着是第二个问题,本题输出的时候还需要带上三条边的边长,通常可以使用占位符来输出,用法如下:

print("边长为%d,%d,%d的三条边能组成三角形"%(a,b,c))

当然,你也可以使用f字符串或者format()函数来进行格式化输出。

至于第三个问题,条件怎么写,这就涉及到数学知识了。

2. 数学

本题中的三角形判断,包括三个问题:

1). 是否构成三角形

2). 是否为直角三角形

3). 是否为等腰三角形

先来看第一个问题,判断是否构成三角形,题目给出了提示信息,”任意一个三角形中,两边之和大于第三边“。

三角形两边之和大于第三边”,这是任意一个三角形都必定具备的基本性质。它的具体含义如下:

任给一个三角形ABC,其边长分别为a、b、c,则以下三个不等式必定同时成立:

a + b > ca + c > bb + c > a

第二个问题,是否为直角三角,题目没有给出任何提示,这就需要考生熟悉勾股定理了。

勾股定理,是一个基本的几何定理,指直角三角形的两条直角边的平方和等于斜边的平方。

图片

中国古代称直角三角形为勾股形,并且直角边中较小者为勾,另一长直角边为股,斜边为弦,所以称这个定理为勾股定理,也有人称商高定理,在西方则被称为毕达哥拉斯定理。

第三个问题则比较简单,只要有两条边相等,说明是等腰三角形了。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们编写代码如下:

图片

代码不难理解,强调4点:

1). 两边之和大于第3边,一定要同时考虑三种情形,并且是逻辑与的关系;

2). 使用勾股定理时,由于不知道哪一个是最长的边,所以需要考虑三种情形,但它们之间是逻辑或的关系;

3). 判断等腰三角形时,也需要考虑三种情形,它们之间是逻辑或的关系;

4). 注意运算符的优先级,算术运算 > 比较运算 > 逻辑运算,因此这里不用加括号。

至此,整个程序就全部完成了,你可以输入不同的数据进行测试。

四.思考与总结

本题的分数为50分,代码在10行左右,涉及到的知识点包括:

  • 输入处理,尤其是数字串的输入;

  • 输出处理,重点是格式化的用法;

  • 条件语句,包括双分支、多分支及嵌套;

  • 逻辑运算;

  • 运算符的优先级;

题目代码不多,关键是要熟悉三角形的特性,尤其是使用勾股定理来判断是否为直角三角形。这充分说明了数学的重要性,没有良好的数学知识储备,想要解决类似题目是不现实的。

超平老师给你留几道思考题:

1). 在判断三角形时,会不会出现等腰直角三角形,为什么呢?

2). 如何判断是否为等边三角形?

3). 如何判断锐角和钝角三角形呢?

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要源码的,可以移步至“超平的编程课”gzh。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/202821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AOC computer monitor

【窗口增亮】关闭就没掉了

Java异常讲解

🐵本篇文章将对异常相关知识进行讲解 一、异常的结构 在程序执行的过程中出现的一些问题叫做异常,异常其实是一个一个类,每一种异常都代表一个类 1.1 几种常见的异常 System.out.println(10/0); //算数异常 //Exception in thread "m…

LDAP协议和AD活动目录的讲解

目录 LDAP协议 LDAP基本概念 LDAP目录的数据结构 LDAP交互过程以及相关报文 AD(Active Directory) AD基本概念 AD域与工作组、本地组的区别 AD DS(AD域服务) 信任关系 组策略和安全组 LDAP协议 LDAP基本概念 LDAP&…

TypeScript:JavaScript的超集,让代码更安全、更可维护

一、介绍 TypeScript是微软开发的一种静态类型检查的JavaScript超集,它在JavaScript的基础上添加了类型系统,使得开发者能够更好地定义变量类型,提高代码的可读性和可维护性。本文将介绍TypeScript的基本概念、优势、使用方法和实践。 二、…

2024年程序员面对经济下行的解决方式竟然是……

近些年大环境不好,经济下行的压力给到了我们每一个普通人的身上:降薪是潮流,裁员是趋势,找不到工作是常态。 在这样的环境下,我们曾一天三份工,只为家人温饱; 我们也曾一周七天连轴转&#xf…

ProEasy机器人:快速上手使用机器人软件与编程(干货满满,好学不费脑)

一、安装机械手软件 如图所示,安装顺序为:先安装第一个,再安装第二个 二、快速认识学习掌握机械手软件重要功能 1.连接机械手 机械手默认出厂的ip为:“192.168.1.1”,在初次连接机械手前,必须把使用连接的…

JVM常用调优参数

针对Java虚拟机(JVM)的性能调优,有一些常见的调优参数可以用来提高应用程序的性能和稳定性。以下是一些常用的JVM调优参数: 堆内存设置 -Xms:设置JVM初始堆大小-Xmx:设置JVM最大堆大小-Xmn:设…

k8s官方镜像代理加速

背景 大家可能在云原生领域需要部署周边的一些生态组件时,在国内遇到无法正常拉取镜像,显得就有点苦恼,不过没关系,常见的${{ registry_name }} 例如 “gcr.io”,“registry.k8s.io” Failed to pull image “registry…

C# Solidworks二次开发:获取零件的最小包容体方法详解

今天要讲的文章是在Solidworks如何获取零件的最小包容体的方法,这个方法的API如下所示: 获取零件的最小包容体的API为:partDoc.GetPartBox(true); 这个方法中参数为只有一个,是否转换为用户单位;True保留系统单位,fa…

AI Pika 生成进击的巨人动漫分镜案例

背景介绍 Pika 是一个使用 AI 生成和编辑视频的平台。它致力于通过 AI 技术使视频制作变得简单和无障碍。 Pika 1.0 是 Pika 的一个重大产品升级,包含了一个新的 AI 模型,可以在各种风格下生成和编辑视频,如 3D 动画,动漫,卡通和电影风格。…

springboot 整合 Spring Security+JWT 实现token 认证和校验

1.大概是这个样子 JWT 是什么? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明…

k8s 中externalTrafficPolicy应用场景和实践

在Kubernetes(K8s)中,externalTrafficPolicy 是一个用于控制服务的外部流量的策略。这个字段可以在 Service 的定义中设置,其主要作用是决定服务对外部请求的负载均衡行为。具体来说,externalTrafficPolicy 有两个可选…

【ArcGIS微课1000例】0078:创建点、线、面数据的最小几何边界

本实例为专栏系统文章:讲述在ArcMap10.6中创建点数据最小几何边界(范围),配套案例数据,持续同步更新! 文章目录 一、工具介绍二、实战演练三、注意事项一、工具介绍 创建包含若干面的要素类,用以表示封闭单个输入要素或成组的输入要素指定的最小边界几何。 工具位于:数…

Park Unpark

文章目录 当先调用park时:如果_counter0,这时候该线程阻塞,进入_cond阻塞,之后Unpark设置_counter为1后停止阻塞 当先调用Unpark时:此时先将_counter设置为1,当后面出现park时一判断_counter为1&#xff0c…

IO多路复用(新)

1.前景回顾 无论是阻塞IO还是非阻塞IO,用户应用在一阶段都需要调用recvfrom来获取数据,差别在于无数据时的处理方案: 如果调用recvfrom时,恰好内核没有数据,那么阻塞IO会使用户进程阻塞,非阻塞IO使CPU进行空…

CMMI5大成熟度等级和4大过程域

CMMI(Capability Maturity Model Integration,能力成熟度模型集成)模型系列是帮助组织改进其过程的最佳实践的集合。这些模型由来自产业界、政府以及软件工程研究所(Software Engineering Institute, SEI)的…

继承与派生(1)

1.定义继承与派生的原因:类似于现实中的父子关系,子类继承了父类的部分特征,但也有子类自身的一些特征,而继承与派生就是来表示这种关系的 2.继承方式: 多继承:一个派生类有多个基类 单继承:一…

【算法集训】基础数据结构:二、字符串

字符串在C语言中我感觉还是比较难的,主要是C中没有String,只能使用字符数组来创建字符串。这个就有点难受了 第一题 LCR 122. 路径加密 https://leetcode.cn/problems/ti-huan-kong-ge-lcof/description/ 第一题本来是力扣05的一道题,但是变…

c语言经典题目

1.水仙花数 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 例:1531的三次方5的三次方3的三次方. 法1: #include<stdio.h> int main() {int i 0;int j 0;int k 0;for (i 1; i < 10; i)//百位{for (j …

AI跨界学习,不再是梦!

大家好&#xff01;今天给大家推荐的 GPTs 是【行业知识脉络】&#xff0c;帮助大家快速了解某个领域的脉络&#xff0c;并提供足够的学习资料和建议。 在AI时代&#xff0c;从小白到专家的1万小时定律即将失效&#xff0c;用少于1千小时掌握行业知识树和其核心概念是如何学习的…