| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 全国中小学信息技术创新与实践大赛(简称NOC)Python编程题解析 -> 正文阅读 |
|
[数据结构与算法]全国中小学信息技术创新与实践大赛(简称NOC)Python编程题解析 |
NOC比赛中的软件创意编程赛项,面向小学低年级为图形化编程,小学高年级为Python编程。 这里我们着重挑选Python编程题进行题解,让大家也可以对比赛有一定了解。 1. 奇偶分拆排序(难度:简单) 输入一个整数序列,对其进行排序,使得奇数在前,偶数在后,奇数从大到小排列,偶数从小到大排序。 输入示例: 1 2 3 4 5 6 输出示例: 5 3 1 2 4 6 参考解法:本题考察列表数据项的奇偶判断和列表排序。 奇偶判断只需要使用求余运算即可,列表排序使用sort()。 lst = list(map(int, input().split())) odd, even = [], [] for i in lst: ????if i%2==1: ????????odd.append(i) ????else: ????????even.append(i) ? odd.sort(reverse=True) even.sort() print(odd+even) 2. 美妙的数(难度:困难) 如果一个正整数,各位数字之和加上各位数字之积,恰好等于这个数本身,就把它叫做“美妙的数”。请找出从A到B之间的正整数,有多少个是美妙的数。 输入示例: 10 60 输出示例: 5 参考解法 本题重点考察数字位数的提取。 位数提取时也使用求余运算,得到个位后,再去除个位。 a, b = map(int, input().split()) def ok(n): ????number = n ????digits = [] ????while True: ????????if number >= 10: ????????????tmp = number % 10 ????????????digits.append(tmp) ????????????number = int((number - tmp)/10) ????????else: ????????????digits.append(number) ????????????break ????add, product = 0,1 ????for i in digits: ????????add = add + i ????????product = product * i ????return add + product == n ???? count = 0 for i in range(a,b+1): ????if ok(i): ????????count += 1 print(count) ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 11:50:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |