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

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

相关推荐
学编程就要猛4 分钟前
数据结构初阶:Map和Set接口
数据结构
jianfeng_zhu10 分钟前
不带头节点的链式存储实现链栈
数据结构·算法
lightqjx13 分钟前
【算法】双指针
c++·算法·leetcode·双指针
历程里程碑16 分钟前
C++ 7vector:动态数组的终极指南
java·c语言·开发语言·数据结构·c++·算法
mit6.82418 分钟前
get+二分|数位dp
算法
sin_hielo22 分钟前
leetcode 2147
数据结构·算法·leetcode
萌>__<新35 分钟前
力扣打卡每日一题——缺失的第一个正数
数据结构·算法·leetcode
DuHz39 分钟前
车对车对向交汇场景的毫米波路径损耗建模论文精读
论文阅读·算法·汽车·信息与通信·信号处理
lxh01131 小时前
二叉树中的最大路径和
前端·算法·js
萌>__<新1 小时前
力扣打卡每日一题————零钱兑换
算法·leetcode·职场和发展