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循环把所有的数加起来就是最终求的份数

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

相关推荐
代码改善世界2 小时前
【数据结构与算法】栈和队列题解
数据结构
ShineWinsu2 小时前
对于C++:继承的解析—上
开发语言·数据结构·c++·算法·面试·笔试·继承
pp起床2 小时前
动态规划 | part05
算法·动态规划
GuangHeAI_ATing2 小时前
国密算法SSD怎么选?这3款国产固态硬盘安全又高速
算法
雨泪丶3 小时前
代码随想录算法训练营-Day34
算法
Yzzz-F3 小时前
牛客寒假算法训练营2
算法
甄心爱学习3 小时前
【python】获取所有长度为 k 的二进制字符串
python·算法
iAkuya3 小时前
(leetcode)力扣100 76数据流的中位数(堆)
算法·leetcode·职场和发展
键盘鼓手苏苏4 小时前
Flutter for OpenHarmony: Flutter 三方库 ntp 精准同步鸿蒙设备系统时间(分布式协同授时利器)
android·分布式·算法·flutter·华为·中间件·harmonyos
董董灿是个攻城狮4 小时前
AI 视觉连载5:传统 CV 之均值滤波
算法