当前位置: 首页 > news >正文

学python的第四天---基础(2)

  • 一、三角形类型
    • 读入数组并排序的方法
      • n=list(map(float,input().split())) c,b,a=sorted(n)
      • list_1 = list(map(float, input().split())) list_1.sort() list_1.reverse()
      • lengths=sorted(map(float,input().split(" ")),reverse=True)
  • 二、动物
    • 写法一:
      • d={" ":{" "}," ":{" "}}
    • 写法二:嵌套的if
    • 写法三:index()
  • 三、菱形
  • 四、质数
  • 五、完全数
  • 六、数字序列和它的和
    • 写法一:
    • 写法二:
  • 七、连续奇数的和2
    • 写法一:我写复杂了,直接暴力就可以了
    • 写法二:
      • for j in range(a[i*2]+1,a[i*2+1],1):
    • 写法三:暴力法
  • 八、实验
      • 字典
  • 九、蛇形矩阵

一、三角形类型

在这里插入图片描述

n=list(map(float,input().split()))
c,b,a=sorted(n)
if a>=b+c:print("NAO FORMA TRIANGULO")exit()
if a**2==b**2+c**2:print("TRIANGULO RETANGULO")
elif a**2>b**2+c**2:print("TRIANGULO OBTUSANGULO")
elif a**2<b**2+c**2:print("TRIANGULO ACUTANGULO")
if a==b==c:print("TRIANGULO EQUILATERO")
elif a==b or a==c or b==c:print("TRIANGULO ISOSCELES")

读入数组并排序的方法

n=list(map(float,input().split())) c,b,a=sorted(n)

list_1 = list(map(float, input().split())) list_1.sort() list_1.reverse()

lengths=sorted(map(float,input().split(" ")),reverse=True)

二、动物

在这里插入图片描述

写法一:

d={" “:{” “},” “:{” "}}

这是一个嵌套的字典数据结构,包含了动物分类以及不同分类的动物名称。可以通过字典的嵌套结构来获取动物名称。

d = {"vertebrado":{"ave":{"carnivoro":"aguia","onivoro":"pomba"},"mamifero":{"onivoro":"homem","herbivoro":"vaca"}},"invertebrado":{"inseto":{"hematofago":"pulga","herbivoro":"lagarta"},"anelideo":{"hematofago":"sanguessuga","onivoro":"minhoca"}}}
a,b,c = input(),input(),input()
print(d[a][b][c])

写法二:嵌套的if

s1 = input()
s2 = input()
s3 = input()if s1 == "vertebrado":if s2 == "ave":if s3 == "carnivoro":print("aguia")else:print("pomba")else:if s3 == "onivoro":print("homem")else:print("vaca")
else:if s2 == "inseto":if s3 == "herbivoro":print("lagarta")else:print("pulga")else:if s3 == "onivoro":print("minhoca")else:print("sanguessuga")

写法三:index()

one = ["vertebrado","invertebrado"]
two = ["ave","mamifero","inseto","anelideo"]
three = ["carnivoro","onivoro","herbivoro","hematofago"]
a = one.index(input())
b = two.index(input())
c = three.index(input())
d = {"000":"aguia","001":"pomba","011":"homem","012":"vaca","123":"pulga",
"122":"lagarta","133":"sanguessuga","131":"minhoca"}
# print(a,b,c)
print(d[str(a)+str(b)+str(c)])

三、菱形

在这里插入图片描述

n = int(input())
c = n // 2
for i in range(n):for j in range(n):if abs(i - c) + abs(j - c) <= c:print('*', end = '')else:print(' ', end = '')print()

四、质数

在这里插入图片描述

n=int(input())
for i in range(n):x=int(input())flag=Truefor i in range(2,int(x**0.5)+1):if x%i==0:flag=Falsebreakif flag:print("%d is prime"%x)else:print("%d is not prime"%x)

五、完全数

在这里插入图片描述

n=int(input())
for i in range(n):ans=0x=int(input())for j in range(1,x):if j**2>x:#剪枝,我一开始没有这句话tle了breakif x%j==0:if j<x:ans+=jif j!=x/j and x/j<x:#如果i**2不等于xans+=int(x/j)if ans==x:print("%d is perfect"%x)#print("{} is perfect".format(x))else: print("%d is not perfect"%x)

六、数字序列和它的和

在这里插入图片描述

写法一:

while True:a, b = map(int, input().split())if a<=0 or b<=0:exit()if a>b:a,b=b,asum=0for i in range(a,b+1):print(i,end=' ')sum+=iprint("Sum={}".format(sum))

写法二:

while True:a,b=map(int,input().split(' '))if a<=0 or b <= 0:breaky=max(a,b)x=min(a,b)sum=0for i in range(x,y+1):print(i,end=' ')sum+=ipassprint("Sum=%d"%sum)

七、连续奇数的和2

在这里插入图片描述

写法一:我写复杂了,直接暴力就可以了

然后要注意的就是数组要开大一点,数组的创建和读入的方法。

a=[0]*1005
a[0]=0
for i in range(1,1005):if (i-1)&1:a[i]=a[i-1]+i-1else:a[i]=a[i-1]
n=int(input())
for _ in range(n):d,b=map(int,input().split())if d>b:d,b=b,dif d==b:print(0)elif d>0 and b>0:print(a[b]-a[d+1])elif d<0 and b<0:print(-a[-d]+a[-b+1])elif d<0 and b>0:print(-a[-d]+a[b])

写法二:

for j in range(a[i2]+1,a[i2+1],1):

这里的 range() 函数使用三个参数的形式,其中第一个参数是循环起始值,第二个参数是循环结束值(不包含),第三个参数是循环步长。因此,range(a[i2]+1, a[i2+1], 1) 表示从 a[i2]+1 开始,每次增加 1,直到 a[i2+1],循环结束。
举个例子:

a = [[0, 5], [10, 15], [20, 25]]for i in range(len(a)):for j in range(a[i][0] + 1, a[i][1], 1):# 在这里写需要执行的操作,例如打印 j 的值print(j)

这段代码会依次打印出 1 到 4 和 11 到 14 和 21 到 24 这些数字,因为它们分别属于 a 中的三个区间。

n = int(input())
a = []
for i in range(n):b = [int(x) for x in input().split()]a = a + b#把他一个个存入到a中
for i in range(n):count = 0if a[i*2] > a[i*2+1]:p = a[i*2]a[i*2] = a[i*2+1]a[i*2+1] = pfor j in range(a[i*2]+1,a[i*2+1],1):if j % 2 == 1:count += jprint(count)

感觉这个写法的思想很巧妙!

写法三:暴力法

n=int(input())
for i in range(n):s=0x,y=map(int,input().split())if x>y:x,y=y,xfor j in range(x+1,y):if j%2==1:s+=jprint(s)

八、实验

字典

这里使用了字典!!!

n = int(input())
res = 0
data = {}
for i in range(n):a,b = input().split(" ")# print(a,b)a = int(a)if data.get(b,False):data[b] = data[b] + aelse:data[b] = ares+=aprint("Total: {} animals".format(res))
print("Total coneys: {}".format(data["C"]))
print("Total rats: {}".format(data["R"]))
print("Total frogs: {}".format(data["F"]))
print("Percentage of coneys: {:.2f} %".format(data["C"]/res*100))
print("Percentage of rats: {:.2f} %".format(data["R"]/res*100))
print("Percentage of frogs: {:.2f} %".format(data["F"]/res*100))

九、蛇形矩阵

在这里插入图片描述
在学C++的时候经常写,有点生了,写了好一会

n,m=map(int,input().split())
dx=[0,1,0,-1]
dy=[1,0,-1,0]
a=[[0 for j in range(m)] for i in range(n)]
x,y,t=0,0,0
for i in range(1,n*m+1):a[x][y]=ix1,y1=x+dx[t],y+dy[t]if x1<0 or x1>=n or y1>=m or y1<0 or a[x1][y1]:t=(t+1)%4x1,y1=x+dx[t],y+dy[t]x,y=x1,y1for i in range(n):for j in range(m):print(a[i][j],end=' ')print()

相关文章:

学python的第四天---基础(2)

一、三角形类型读入数组并排序的方法nlist(map(float,input().split())) c,b,asorted(n)list_1 list(map(float, input().split())) list_1.sort() list_1.reverse()lengthssorted(map(float,input().split(" ")),reverseTrue)二、动物写法一&#xff1a;d{" &…...

spring之refresh流程-Java八股面试(六)

系列文章目录 第一章 ArrayList-Java八股面试(一) 第二章 HashMap-Java八股面试(二) 第三章 单例模式-Java八股面试(三) 第四章 线程池和Volatile关键字-Java八股面试(四) 第五章ConcurrentHashMap-Java八股面试(五) 动态每日更新算法题&#xff0c;想要学习的可以关注一下…...

【C语言】刷题|链表|双指针|指针|多指针|数据结构

主页&#xff1a;114514的代码大冒 qq:2188956112&#xff08;欢迎小伙伴呀hi✿(。◕ᴗ◕。)✿ &#xff09; Gitee&#xff1a;庄嘉豪 (zhuang-jiahaoxxx) - Gitee.com 文章目录 目录 文章目录 前言 一、移除链表元素 二、反转链表 三&#xff0c;链表的中间结点 四&…...

糖化学类854262-01-4,Propargyl α-D-Mannopyranoside,炔丙基 α-D-吡喃甘露糖苷

外观以及性质&#xff1a;Propargyl α-D-Mannopyranoside一般为白色粉末状&#xff0c;糖化学类产品比较多&#xff0c;一般包括&#xff1a;葡萄糖衍生物、葡萄糖醛酸衍生物&#xff0c;氨基甘露糖衍生物、半乳糖衍生物、氨基半乳糖衍生物、核糖衍生物、阿拉伯糖衍生物、唾液…...

项目管理工具DHTMLX 在 G2 排名中再创新高

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求&#xff0c;具备完善的甘特图图表库&#xff0c;功能强大&#xff0c;价格便宜&#xff0c;提供丰富而灵活的JavaScript API接口&#xff0c;与各种服务器端技术&am…...

28 位委员出席,龙蜥社区第 15 次运营委员会会议顺利召开

2 月 24 日&#xff0c;龙蜥社区在海光召开了第 15 次运营委员会会议&#xff0c;本次会议由统信软件运营委员会委员崔开主持。来自 Arm、阿里云、飞腾、红旗软件、海光、Intel、龙芯、联通软研院、浪潮信息、普华基础软件、统信软件、万里红、移动、中科方德等理事单位的 28 位…...

自然语言处理-基于预训练模型的方法-chapter3基础工具集与常用数据集

文章目录3.1NLTK工具集3.1.1常用语料库和词典资源3.1.2常见自然语言处理工具集3.2LTP工具集3.3pytorch基础3.3.1张量基本概念3.3.2张量基本运算3.3.3自动微分3.3.4调整张量形状3.3.5广播机制3.3.6索引与切片3.3.7降维与升维3.4大规模预训练模型3.1NLTK工具集 3.1.1常用语料库和…...

【SpringMVC】@RequestMapping

RequestMapping注解 1、RequestMapping注解的功能 从注解名称上我们可以看到&#xff0c;RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来&#xff0c;建立映射关系。 SpringMVC 接收到指定的请求&#xff0c;就会来找到在映射关系中对应的控制器方法来处…...

【深度学习】BERT变体—SpanBERT

SpanBERT出自Facebook&#xff0c;就是在BERT的基础上&#xff0c;针对预测spans of text的任务&#xff0c;在预训练阶段做了特定的优化&#xff0c;它可以用于span-based pretraining。这里的Span翻译为“片段”&#xff0c;表示一片连续的单词。SpanBERT最常用于需要预测文本…...

根据身高体重计算某个人的BMI值--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)

实例3&#xff1a;根据身高体重计算某个人的BMI值 BMI又称为身体质量指数&#xff0c;它是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。我国制定的BMI的分类标准如表1所示。 表1 BMI的分类 BMI 分类 <18.5 过轻 18.5 < BMI < 23.9 正常 24 < BM…...

高并发编程JUC之进程与线程高并发编程JUC之进程与线程

1.准备 pom.xml 依赖如下&#xff1a; <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target&g…...

css基础

1-css引入方式内嵌式style&#xff08;学习&#xff09;<style>p {height: 200;}</style>外联式link&#xff08;实际开发&#xff09;<link rel"stylesheet" href"./2-my.css">2-选择器2.1标签选择器&#xff08;标签名相同的都生效&am…...

Unity - 搬砖日志 - BRP 管线下的自定义阴影尺寸(脱离ProjectSettings/Quality/ShadowResolution设置)

文章目录环境原因解决CSharp 脚本效果预览 - Light.shadowCustomResolution效果预览 - Using Quality Settings应用ControlLightShadowResolution.cs ComponentTools Batching add the Component to all LightReferences环境 Unity : 2020.3.37f1 Pipeline : BRP 原因 (好久没…...

如何在SSMS中生成和保存估计或实际执行计划

在引擎数据库执行查询时执行的过程的步骤由称为查询计划的一组指令描述。​查询计划在SQL Server中也称为SQL Server执行计划,我们可以通过以下步骤来生成和保存估计或实际执行计划。 估计执行计划和实际执行计划是两种执行计划: 实际执行计划:当执行查询时,实际执行计划出…...

mac 环境下安装MongoDB

目录 一、下载MongoDB数据库并进行安装 二. 解压放在/usr/local目录下 三. 配置环境变量 “无法验证开发者”的解决方法 mongodb可视化工具的安装与使用 一、下载MongoDB数据库并进行安装 下载地址&#xff1a;https://www.mongodb.com/try/download/community 二. 解压…...

RTOS中相对延时和绝对延时的区别

相信许多朋友都有过这么一个需求&#xff1a;固定一个时间&#xff08;周期&#xff09;去处理某一件事情。 比如&#xff1a;固定间隔10ms去采集传感器的数据&#xff0c;然后通过一种算法计算出一个结果&#xff0c;最后通过指令发送出去。 你会通过什么方式解决呢&#xf…...

Solon2 项目整合 Nacos 配置中心

网上关于 Nacos 的使用介绍已经很多了&#xff0c;尤其是与 SpringBoot 的整合使用。怎么安装也跳过了&#xff0c;主要就讲 Nacos 在 Solon 里的使用&#xff0c;这个网上几乎是没有的。 1、认识 Solon Solon 一个高效的应用开发框架&#xff1a;更快、更小、更简单&#xf…...

Linux 路由表说明

写在前面&#xff1a; 本文章旨在总结备份、方便以后查询&#xff0c;由于是个人总结&#xff0c;如有不对&#xff0c;欢迎指正&#xff1b;另外&#xff0c;内容大部分来自网络、书籍、和各类手册&#xff0c;如若侵权请告知&#xff0c;马上删帖致歉。 目录route 命令字段分…...

MIPI协议

MIPI调试指南Rev.0.1 June 18, 2019 © 2018 Horizon Robotics. All rights reserved.Revision HistoryThissection tracks the significant documentation changes that occur fromrelease-to-release. The following table lists the technical content changes foreach …...

第十届CCF大数据与计算智能大赛总决赛暨颁奖典礼在苏州吴江顺利举办

2月24日-25日&#xff0c;中国计算机学会&#xff08;CCF&#xff09;主办、苏州市吴江区人民政府支持&#xff0c;苏州市吴江区工信局、吴江区东太湖度假区管理办公室、苏州市吴江区科技局、CCF大数据专家委员会、CCF自然语言处理专业委员会、CCF高性能计算专业委员会、CCF计算…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...