目录
python奇偶数位相乘
一、题目要求
1、编程实现
2、输入输出
二、算法分析
三、程序编写
四、程序说明
五、运行结果
六、考点分析
七、 推荐资料
1、蓝桥杯比赛
2、考级资料
3、其它资料
python奇偶数位相乘
第十五届蓝桥杯青少年组python比赛选拔赛真题
一、题目要求
(注:input()输入函数的括号中不允许添加任何信息)
1、编程实现
给定一个正整数 N(100≤N≤1000000),分别将 N 中奇数位上的数字相加,偶数位上的数字相加,最后将两个相加的和相乘,并输出相乘的结果(奇数位包含个位、百位、万位、百万位,偶数位包含十位、千位、十万位)。
例如:N=1234,奇数位上的数字为 4、2,相加的和为 6;偶数位上的数字为 3、1,相加的和为 4;最后相乘的结果为 24(24=6*4)。
2、输入输出
输入描述:只有一行,一个正整数 N(100≤N≤1000000)
输出描述:只有一行,一个整数,即奇数位和与偶数位和相乘的结果
输入样例:
1234
输出样例:
24
二、算法分析
- 题目相对而言难度不大,可以利用for循环对输入数字进行逐位遍历
- 然后利用分支语句对每一位进行奇偶校验并相应位数求和
- 最后将求得的奇数和偶数进行相乘输出即可
n = input()
c_even = 0
c_odd = 0
for i in range(len(n)):
if i % 2 == 0:
c_even += int(n[i])
else:
c_odd += int(n[i])
result = c_even * c_odd
print(result)
四、程序说明
- 首先,通过 n = input() 语句获取用户输入的字符串
- 然后,定义两个变量 c_even 和 c_odd 分别用来保存偶数位数字的总和和奇数位数字的总和,初始值都为 0
- 接下来,通过一个 for 循环来遍历字符串的每一个字符
- 在循环中,通过 i % 2 == 0 来判断当前字符的下标 i 是否为偶数位
- 如果是偶数位,将当前字符转换为整数,并加到 c_even 变量上
- 否则,将当前字符转换为整数,并加到 c_odd 变量上
- 最后,计算 c_even 和 c_odd 的乘积,并将结果保存到 result 变量中
- 最后,通过 print(result) 将结果打印出来
五、运行结果
1234
24
六、考点分析
难度级别:中等,这题相对而言还是有一点小难度,难在产生列表和输出对应图形,具体主要考查如下:
- 学会分析题目,找到解题思路
- 学会简单的算法知识的应用
- input函数:Python 中 input() 函数接受一个标准输入数据,返回为 string 类型。
- int函数:强制将传入对象转换成整数类型
- 学会for循环的使用:for循环可以遍历任何有序的项及列表元素等等。
- range函数:rang(a,b),循环的时候是不包括b的,所以我们这个案例中要转变一下,要想包含b,就应该写成range(a,b+1)
- 学会if...条件判断语句的使用:满足条件才执行相应的程序
- 学会if...else双分支语句的使用:满足条件执行一种处理程序,不满足执行另一种处理程序
- print函数:用于打印输出,最常见的一个函数。
- 充分掌握for循环、分支语句和数据类型强制转换相关操作函数的使用
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!
七、 推荐资料
- 所有考级比赛学习相关资料合集【推荐收藏】
1、蓝桥杯比赛
-
蓝桥杯python选拔赛真题详解
-
蓝桥杯python省赛真题详解
-
蓝桥杯python国赛真题详解
-
历届蓝桥杯科技素养计算思维真题解析
2、考级资料
-
python等级一级真题解析【电子学会】
-
python等级二级真题解析【电子学会】
-
python等级三级真题解析【电子学会】
-
python等级四级真题解析【电子学会】
3、其它资料
-
初学python100例
- 历届蓝桥杯scratch国赛真题解析
- 历届蓝桥杯scratch省赛真题解析
- 历届蓝桥杯scratch STEMA选拔赛真题解析
- 历届蓝桥杯科技素养计算思维真题解析
- 画图-scratch编程考级99图
- 电子学会历年scratch等级考试一级真题解析
- 电子学会历年scratch等级考试二级真题解析
- 电子学会历年scratch等级考试三级真题解析
- 电子学会历年scratch等级考试四级真题解析
- 零基础学习scratch3.0【入门教学 免费】
- 零基础学习scratch3.0【视频教程 114节 免费】