Python题库1~10见前文:
Python题库1~10
题目十一:编程实现写一个装饰器getlencase,这个装饰器可以求出被装饰函数g()返回结果的长度。
def g():
list1 = [1,2,5,7,9,8,8,-1]
return list1
1.程序分析:装饰器名称getlencase,被装饰函数g()
2.知识讲解:
Python高级用法1-装饰器、迭代器链、with
3.程序源代码及结果见下图:
题目十二:编程实现写一个装饰器tenthcase,这个装饰器可以将被装饰函数g()返回结果增大十倍。
def g():
list1 = [1,2,5,7,9,8,8,-1]
return list1
1.程序分析:装饰器名称tenthcase,被装饰函数g()
2.知识讲解:
Python高级用法1-装饰器、迭代器链、with
3.程序源代码及结果见下图:
题目十三:写一个程序,提示输入值。如果输入是偶数,输出“偶数”;如果是奇数,则输出“奇数”。
提示:考虑一下如果值既不是偶数也不是奇数(譬如该值可能是小数,也可能根本不是数字)。
1.程序分析:由于题目要求提示用户输入,所以需要判断用户有可能输错的情况,大家知道只有整数可以判断奇偶,因此小数,或者不是数字的情况都属于需要过滤的。大家可以使用try/except语句来实现异常判断。数据过滤之后,剩下的奇偶数判断就看是否可以被2整除即可。
2.知识及源码讲解:
Python国外原题解析及源码1~10
题目十四:给定3个正整数,求前两个数之间是第三个数倍数的所有数的和。
1.程序分析:要求输入三个正整数,因此也需要数据异常判断一下,然后循环前两个数之间的值,判断是否被第三个数整除,如果可以,则用一个变量将这些值累加起来。
2.知识及源码讲解:
Python国外原题解析及源码1~10
题目十五:编写程序接收一串输入,忽略非数字,只提取数字出来,并计算它们的相乘,将结果输出。
1.程序分析:需要将输入过滤出只保留数字,filter函数
2.知识及源码讲解:
Python国外原题解析及源码1~10
题目十六:编写一个程序将任何字母集转换成其相对应的NATO(国际无线电通话字母表)单词,并且实现其反向操作的函数,例如:(提示:考虑输入为小写的情况,可以使用upper函数自动转换为大写)例如:
输入 :CAT
输出 :Charlie Alpha Tango
输入 :Charlie Alpha Tango
输出 :CAT
1.程序分析:考虑输入为小写的情况,可以使用upper函数自动转换为大写
2.知识及源码讲解:
Python国外原题解析及源码1~10
题目十七:编写一个信息加密函数,该函数接收字符串和移位量,并输出加密后的字符串。例如:
输入 :I love you 移位量 :1
输出 :J mpwf zpv
1.程序分析:函数接收两个参数,字符串和移位量
2.知识及源码讲解:
Python国外原题解析及源码1~10
题目十八:若123456每个数字不重复出现, 请问一共有多少组数字的排列。
1. 程序分析:由题目知道,这是一个典型的数学排列组合问题,即计算6的阶乘,6! = 720,即123456不重复出现一共有720组数字...大家可以试着用Python计算6的阶乘看一下,以下列举出两种编程思路给大家参考。
2. 知识及源码讲解:
Python国内外原题解析及源码1~15
题目十九:六粒骰子随机扔下去,可能会有多少种不同的情况出现(情况说明:123456,654321,124356,452136...都算同一种,即同一组数字不同顺序都算同一种)
1. 程序分析:与上个题目不同,本题中每个数字是可以重复出现的,六粒骰子随机扔下去,每个骰子对应的数字是可以重复出现的。因此数字是可以重复的,但是同一组数字,不同顺序算同一种情况,如123456,654321,124356,452136...都算同一种。理解对了题目,大家就知道该如何去思考编写代码啦。
2. 知识及源码讲解:
Python国内外原题解析及源码1~15
题目二十:Python编程实现海伦公式。
海伦公式:假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=√[p(p-a)(p-b)(p-c)]
公式里的p为半周长: p=(a+b+c)/2
1. 程序分析:海伦公式又译作希伦公式、海龙公式、希罗公式、海伦-秦九韶公式。它是利用三角形的三条边的边长直接求三角形面积的公式。它的特点是形式漂亮,便于记忆。相传这个公式最早是由古希腊数学家阿基米德得出的,而因为这个公式最早出现在海伦的著作《测地术》中,所以被称为海伦公式。中国秦九韶也得出了类似的公式,称三斜求积术。
2. 知识及源码讲解:
Python国内外原题解析及源码1~15
发表评论 取消回复