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

python学习笔记之例题篇NO.3

获得用户输入的一个整数N,输出N中所出现不同数字的和。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

s = list(set(list(input())))# ①
result = 0
for i in s:result += eval(i)
print(result)

① set() 函数创建一个无序不重复元素的集合,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等,返回新的集合对象{ , }


人名最多数统计

编程模板中给出了一个字符串,其中包含了含有重复的人名,请直接输出出现最多的人名。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

s = '...字符串...'
from collections import Counter# ①
words = s.split()
c = Counter(words)# ②
print(c.most_common(1)[0][0])# ③

①Counter是一个简单的计数器;
②C 输出的字典类型:{'字符':次数,...}
most_common(n)返回一个出现次数从大到小的前 n 个元素的列表。此处是[(字符, 次数)]

方法二:

words = s.split()
counts = {}
for word in words:counts[word] = counts.get(word, 0) + 1 # ①
items = list(counts.items()) # ②
items.sort(key=lambda x: x[1], reverse=True)
print(items[0][0])

① 字典取值方式dictname.get(key, value);如果key存在返回对应的value,如果key不存在,返回None,设置的不加入字典中
dictname.items()函数以列表返回可遍历的(键值)元组数组。


给运动员打分计算总成绩排名

在文件dafen.txt中存放了12个裁判员为10名运动员的评分,现在要求编写程序,从文件中取出这些分数,每个运动员评分中去掉一个最高分和一个最低分,计算平均成绩,然后给出运动员排名;
要求输出格式: print( “第{:2d}名 {:2d}号运动员,平均分为{:6.2f}”.format(名次,运动员编号,平均分))
例如; 第 1名 7号运动员,平均分为 8.56 …(略)

def read_data():#读文件内容,返回读入的数据fp=open("src/dafen.txt")  #以默认的方式打开文件,默认‘r’,'utf-8'score = []No = 0for line in fp:No+=1x = list(map(eval, line.split())) #eval函数 接收运行一个字符串表达式,返回表达式的结果值。a,*s,b = sorted(x)score.append((sum(s)/10,No))return scoredef cal_sort_avg(p):#对运动员成绩排序,返回排序后的结果
# -------------------BEGIN------------------------p.sort(key = lambda x: (-x[0],x[1])) return p
# ------------------END------------------------def print_result(p):#输出排序结果,按格式输出最终结果
# -------------------BEGIN------------------------for i in range(len(p)):print( "第{:2d}名 {:2d}号运动员,平均分为{:6.2f}".format(i+1,p[i][1],p[i][0]))# ------------------END------------------------def main():l1=read_data() #读文件中的数据l2=cal_sort_avg(l1) #进行数据处理print_result(l2) #输出结果if __name__ == '__main__':main()

判断字符串是否数字

str.isnumeric()方法可以判断字符串str是否都是数字字符。若都是数字字符,返回true,否则返回false

获取字符在字符串的位置

使用str.find(c)方法可以返回字符串str中字符c所在位置的序号。
“2021/2/25“.find(“/“)返回数字4。
str.rfind(c)方法可以返回从尾部起,字符串str中字符c所在位置的序号。
“2021/2/25“.rfind(“/“)返回数字6。


Q4 图论问题

eg:如下图所示,G是一个无向图,其中蓝色边的长度是 11、橘色边的长度是 22、绿色边的长度是 33。则从 A 到 S 的最短距离是多少?

在这里插入图片描述

# 录入路线图
lyh_list = [["A", "E", 1],["A", "B", 2],["A", "C", 1],["A", "D", 1],["A", "E", 1],["B", "G", 1],["B", "J", 2],["C", "D", 3],["C", "G", 3],["C", "F", 3],["D", "G", 2],["D", "H", 1],["D", "I", 2],["E", "H", 1],["E", "I", 3],["F", "J", 1],["F", "G", 1],["G", "K", 2],["G", "I", 3],["H", "L", 2],["H", "I", 1],["I", "M", 3],["J", "S", 2],["K", "N", 1],["K", "L", 3],["L", "R", 1],["L", "M", 1],["M", "N", 2], ["M", "Q", 1],["M", "S", 1],["N", "P", 1],["Q", "O", 1],["O", "R", 3],["P", "O", 1],["R", "S", 1],
]#路线存储器
loads = []#寻路函数
def find(length, r):# length: 路线长度 r:节点nodefor x, y in enumerate(lyh_list):if r[1] == y[0]:length+=r[2]if y[1] == 'S':loads.append(length)else: find(length = length, r = y)for i, j in enumerate(lyh_list):if j[0] == 'A':find(length = j[2], r = j)print(min(loads))

Q5 数字三角形

在这里插入图片描述

h = int(input())list = [list(map(int, input().split())) for i in range(h)]for i in range(1,h): #从第二行开始for j in range(0,i+1):if j == 0:# 最左侧的只能是上一行最左侧的移下来的list[i][j] += list[i-1][j] elif j == i:# 最右侧的只能是上一行最右侧的移下来的list[i][j] += list[i-1][j-1]else:list[i][j] += max(list[i-1][j-1:j+1])
# print(max(list[-1]))
if h & 1:  # 如果是奇数行,则返回最中间值print(list[-1][h // 2])
else:  # 偶数行则返回中间较大值print(max(list[-1][h // 2 - 1], list[-1][h // 2]))

一定得看题,不能上来就递归或者搜索
最后一句话决定了题目性质:
向左下走的次数与向右走的次数相差不能超过1意味着:

|freq() -  freq()| = 0 or 1

② 我们把一次左移和一次右移称为对称位移,一次对称位移后,竖直方向是不变的;
freq(左)+freq(右) = 行数 ,由于①的限制,如果行数是偶数,只能是freq(左) = freq(右);如果行数是奇数,只能是|freq(左) - freq(右)| = 1
综上,所谓的最大值并不是在一堆数中选最大,实际上最大值是确定值,所以极具误导性


集合的使用

问题描述:
小蓝有 n 个单词,但是单词中有一些是重复的,请帮小蓝去除重复的单词。
输入格式
输入第一行包含一个正整数 n ,表示小蓝的单词数量。
接下来 n 行,每行包含一个由小写字母组成的单词。
输出格式
请输出去除重复后的那些单词。如果一个单词出现了多遍,请保留第一次出现的单词,去除之后出现的单词,按输入的顺序输出。
评测用例规模与约定: 对于所有评测用例,1 <= n <= 100,每个单词的长度不超过 100。


s = input()
s_ = s[::-1]def check(s):#判断是否为回文return s == s[::-1]if check(s): print(s)
else:for i in range(1, len(s)):if check(s[i:]):print(s+s_[-i:])break

一个m行n列的方格图。开始时,在方格图的左上角,即第1行第1列。可以在方格图上跳跃,跳跃时,如果当前在第r行第c列,不能跳到行号比 r小的行,也不能跳到列号比c小的列。同时,一跳的直线距离不超过 3(不能斜走)。最终要跳到第m行第n列。图中每个格子有权值。从第1行第1列跳到第m行第n列后,总的权值和最大是多少?

m, n = map(int, input().split())
lst = [[map(int, input().split())] for _ in range(m)]direct = [(0,1),(0,2),(0,3),(1,0),(1,1),(1,2),(2,0),(2,1),(3,0)]
for x in range(m):for y in range(n):res = []for dx, dy in direct:lx = x - dxly = y - dyif (lx >= 0 and ly >= 0 and lx < n and ly < m)res.append(dp[lx][ly])dp[x][y] += max(res) if len(res)!=0 else 0
print(dp[-1][-1])

相关文章:

python学习笔记之例题篇NO.3

获得用户输入的一个整数N&#xff0c;输出N中所出现不同数字的和。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ s list(set(list(input())))# ① r…...

【Kubernetes】第七篇 - Service 服务介绍和使用

一&#xff0c;前言 上一篇&#xff0c;通过配置一个 Deployment 对象&#xff0c;在内部创建副本集对象&#xff0c;副本集帮我们创建了 3 个 pod 副本 由于 pod 存在 IP 漂移现象&#xff0c;pod 的创建和重启会导致 IP 变化&#xff1b; 本篇&#xff0c;介绍 Service 服…...

Linux 终端复用器Tmux

目录 Tmux讲解 配置tmux 配置tmux会话 配置tmux窗口&#xff08;在会话界面进行配置&#xff09; 配置tmux面板 配置窗口共享同步 Tmux讲解 RHEL5/6/7使用的是screen软件包 RHEL8使用的是tumx软件包&#xff08;功能更强大&#xff0c;更易用&#xff09; tmux的三个基本…...

Hadoop集群模式安装(Cluster mode)

1、Hadoop源码编译 安装包、源码包下载地址 Index of /dist/hadoop/common/hadoop-3.3.0为什么要重新编译Hadoop源码? 匹配不同操作系统本地库环境&#xff0c;Hadoop某些操作比如压缩、IO需要调用系统本地库&#xff08;*.so|*.dll&#xff09; 修改源码、重构源码 如何…...

PTA L1-054 福到了(详解)

前言&#xff1a;内容包括&#xff1a;题目&#xff0c;代码实现&#xff0c;大致思路&#xff0c;代码解读 题目&#xff1a; “福”字倒着贴&#xff0c;寓意“福到”。不论到底算不算民俗&#xff0c;本题且请你编写程序&#xff0c;把各种汉字倒过来输出。这里要处理的每…...

python -- 魔术方法

魔术方法就算定义在类里面的一些特殊的方法 特点&#xff1a;这些func的名字前面都有两个下划线 __new__方法 相当于一个类的创建一个对象的过程 __init__方法 相当于为这个类创建好的对象分配地址初始化的过程 __del__方法 一个类声明这个方法后&#xff0c;创建的对象如果…...

「JVM 编译优化」提前编译器

1996 年 JDK 1.0 发布&#xff0c;同年 7 月 外挂即时编译器发布&#xff08;JDK 1.0.2&#xff09;&#xff0c;而 Java 提前编译发布在之后几个月&#xff08;IBM High Performance Compiler for Java&#xff09;&#xff0c;1998 年 GNU 组织公布 GCC 家族新成员 GNU Compi…...

Golang channel 用法与实现原理

文章目录1.简介2.用法3.三种状态4.实现原理数据结构原理概述5.小结参考文献1.简介 Golang channel 是一种并发原语&#xff0c;用于在不同 goroutine 之间进行通信和同步。本质上&#xff0c;channel 是一种类型安全的 FIFO 队列&#xff0c;它可以实现多个 goroutine 之间的同…...

jackson 序列化、反序列化的时候第一个大写单词变成小写了(属性设置不成功)

参考链接:https://www.baeldung.com/jackson-annotations 遇到的问题 之前和第三方对接&#xff0c;返回的接口中的属性名称是拼音字母大写&#xff0c;奇怪&#xff0c;反序列化的时候好多字段都为空&#xff0c;没设置进去。 因为对接前&#xff0c;我先用 IntelliJ IDEA …...

如何判断机器学习数据集是否是线性的

首先,线性和非线性函数之间的区别: 左边是线性函数,右边是非线性函数。 线性函数:可以简单定义为始终遵循以下原则的函数: 输入/输出=常数。 线性方程总是1次多项式(例如x+2y+3=0)。在二维情况下,它们总是形成直线;在其他维度中,它们也可以形成平面、点或超平面。它们的…...

后端基础SQL

SQL基础语法: sql对大小写不敏感&#xff0c;eg: SELECT 等效于 select&#xff1b;select: select用于从表中查找数据&#xff0c;select 列名 from 表名 —> 结果集:&#xff1a;仅有查询列的结果表&#xff1b; SELECT * FROM 表名称 ----> 结果集: 查找表的所有数据…...

Ubuntu 18.04 上编译和安装内核(内核源码版本)

Ubuntu 18.04 上编译和安装内核&#xff08;内核源码版本&#xff09; linux发行版本为&#xff0c;ubuntu18.04。内核版本为5.15.7。其他版本类似。 1.下载内核源代码。可以从官方网站下载最新的内核源代码&#xff0c;也可以使用 Git 命令从 Linux 内核的 Git 仓库中获取最新…...

day 53|● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划

1143. 最长公共子序列 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些…...

运维工程师必知的十项Linux常识

1、GNU和GPL GNU计划&#xff08;又称革奴计划&#xff09;&#xff0c;是由Richard Stallman&#xff08;理查德斯托曼&#xff09;在1983年9月27日公开发起的软件集体协作计划。它的目标是创建一套完全的操作系统。GNU也称为软件工程项目。GPL是GNU的通用公共许可证&#xf…...

C++ 11 之右值引用和移动语义

文章目录左值引用与右值引用1、左值与右值2、纯右值、将亡值3、左值引用与右值引用4、右值引用和 std::move 使用场景引用限定符移动语义—std::move()完美转发emplace_back 减少内存拷贝和移动总结c11中引用了右值引用和移动语义&#xff0c;可以避免无谓的复制&#xff0c;提…...

【第一章:Spring概述、特点、IOC容器、IOC操作bean管理(基于xml方式)】

第一章&#xff1a;Spring概述、特点、IOC容器、IOC操作bean管理&#xff08;基于xml方式&#xff09; 1.Spring是什么&#xff1f; ①Spring是一款主流的java EE 轻量级开源框架。 ②广义的Spring&#xff1a;Spring技术栈&#xff0c;Spring不再是一个单纯的应用框架&#x…...

CSS变量

前端的开发工作中&#xff0c;CSS 是不可或缺的部分&#xff1b;实际工作中&#xff0c;我们通过JavaScript 来进行数据和交互工作&#xff0c;CSS 为用户呈现可视化的界面。有时&#xff0c;CSS 来进行部分交互效果是不是会比 JavaScript 更高效、更省事呢&#xff1f; 一、变…...

.net7窗口编程c#2022实战(1)-zip压缩精灵(1)

目录 创建ZIP精灵项目拖控件OpenFileDialog 类压缩与解压缩编写我们自己的代码其它参考内容创建ZIP精灵项目 VS2022中新建项目。 为窗体取一个标题名称 拖控件 左边工具栏里选择控件 拖三个按钮控件和一个listbox控件...

云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM

前言&#xff1a; FusionCompute架构 (CNA、VRM) CNA(ComputingNode Agent):计算节点代理VNA虚拟节点代理&#xff0c;部署在CNA上&#xff0c;实施计算、存储、网络的虚拟化的配置管理。VRM(Virtual Resource Manager):虚拟资源管理器 VNA可以省略不安装 本次实验使用的是V…...

中央一号文件首提“即时零售”,县域掀起消费业态新风潮

经过几年的探索&#xff0c;即时零售已经逐步走向成熟&#xff0c;并开始向三四线城市以及乡镇城市渗透。 过去一年&#xff0c;京东、美团、阿里争先布局即时零售市场&#xff0c;完善即时配送网络、培养用户消费习惯&#xff0c;即时零售订单迎来了骤增。2022年下半年&#…...

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…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...