python蓝桥杯刷题4

1.好数

题解:首先分析题目要求奇数位上的数字是奇数,偶数位上的数字是偶数。开始解题,定义一个count变量为0,输入一个数字,for循环从1开始遍历到n+1,定义一个x作为一会的判断条件,将数字转换为字符串的形式,使用len函数计算出它的长度,作为坐标,坐标是从0开始到num1的长度。根据坐标去判断是奇数位还是偶数位,最后判断是否满足条件即可,满足给count+1继续循环直到循环终止。

重点分析一下坐标怎么去判断奇数位还是偶数位:

  1. 比如23的长度是2,从0-2遍历不包含2,num[0] = 2 num[1] = 3,奇数位是坐标为1的3,偶数位是坐标为0的2,奇数位的数对应的坐标就是奇数,判断方式就是舍去奇数坐标上不是奇数的,和偶数坐标上不是偶数的

  2. 比如253的长度是3,从0-3遍历不包含3,num[0] = 2 num[1] = 5,num[2] = 3,奇数位上是2和3,偶数位是5,但是他们此时的坐标2和5对应的坐标为0和2,也就是此时奇数位的数对应的坐标成了偶数,判断方式就是舍去奇数坐标上不是偶数的,和偶数坐标上不是奇数的

总结一下就是如果数字的长度是偶数,就满足1的情况,是奇数就满足2的情况,

2.回文字符串

题解:分析题目要求,输入一个只包含小写字母的字符串s,可以在字符串中加入任意个指定字符:l、q、b,满足回文数的条件,也就是从前往后跟从后往前一样。输入n作为行数,接下来输入n行字符串,对每一行字符串进行判断,满足回文数输出yes,不满足no。

重点分析:

先观察给出的案例gmgqlq是不是要在开头加上qlq即可构成回文字符串,形参qlqgmgqlq,仔细思考发现,在开头处加指定字符要满足回文数,也就是说字符串内部也会包含指定字符,那么我们直接使用replace函数将内部指定字符全部换成空字符,即删除内部的指定字符,在判断剩下的是不是回文字符即可。

3.奇怪的捐赠

题解:分析题目要求把钱分成若干个7的倍数。循环若sum>=0,取sum除以7的余数为i,将i加入到列表中,在对sum一直向下整除于7取商,直到sum=0时,结束循环,使用join函数,将列表中的元素转换为字符串并拼接起来,具体不懂得好好去看看十进制是如何计算的,因为取余时的顺序是从前往后但是进制是从后往前计,可以倒着排一次,就变成了七进制下的100万,但是也可以不用,因为本题只是计算份数,然后print输出发现所有的数都小于5,满足条件,最后for循环把所有的数加起来就是最终求的份数

重点就是自己明白十进制的计算思路就行!

相关推荐
yoke菜籽13 分钟前
LeetCode——三指针
算法·leetcode·职场和发展
小高不明42 分钟前
前缀和一维/二维-复习篇
开发语言·算法
bin91531 小时前
当AI优化搜索引擎算法:Go初级开发者的创意突围实战指南
人工智能·算法·搜索引擎·工具·ai工具
曹牧2 小时前
Java:Math.abs()‌
java·开发语言·算法
!停2 小时前
c语言动态申请内存
c语言·开发语言·数据结构
悟能不能悟3 小时前
list<string> 和String[],转化为jsonstr是不是一样的
数据结构·windows·list
CoovallyAIHub3 小时前
纯视觉的终结?顶会趋势:不会联觉(多模态)的CV不是好AI
深度学习·算法·计算机视觉
CoovallyAIHub3 小时前
一文读懂大语言模型家族:LLM、MLLM、LMM、VLM核心概念全解析
深度学习·算法·计算机视觉
范纹杉想快点毕业3 小时前
嵌入式C语言实战开发详解
linux·运维·算法
闲看云起3 小时前
LeetCode day3-最长连续序列
算法·leetcode