Python国外原题解析及源码1~10
朋友的小孩在国外大学学习,由于刚好知道微微老师在国内大学教Python,因此时不时会问一些问题,由此也接触到了国外老师是如何教Python的,看了他们给学生出的题目作为每周的任务,感觉还是非常不错的,借此机会简单整理给大家分享一下,古人教导我们要博采众长,《诗经·小雅·鹤鸣》曰:“他山之石,可以攻玉。”。这里有一点需解释,由于国外很多时候初中高中就已经基本学过Python,因此到了大学,老师上课包括出题时会认为你已经有了Python基础...题目如下,每周完成一个任务(task),一个任务一般有2道题目,难度也是由浅入深递进。
task1:
任务1:
1.1 写一个程序,提示输入值。如果输入是偶数,输出“偶数”;如果是奇数,则输出“奇数”。
1.2 考虑一下如果值既不是偶数也不是奇数(譬如该值可能是小数,也可能根本不是数字)。
分析如下:
由于题目要求提示用户输入,所以需要判断用户有可能输错的情况,大家知道只有整数可以判断奇偶,因此小数,或者不是数字的情况都属于需要过滤的。大家可以使用try/except语句来实现异常判断。数据过滤之后,剩下的奇偶数判断就看是否可以被2整除即可。
参考代码:
task2:
任务2:
2.1 给定3个正整数,求前两个数之间是第三个数倍数的所有数的和。
2.2 给定一串字母,输出字母表a-z中每个字母出现的次数。提示:“a''!=“A”。
2.3 将除法以一系列减法实现。程序只处理整数,若有余数,则输出余数。
分析如下:
任务2.1 要求输入三个正整数,因此也需要数据异常判断一下,然后循环前两个数之间的值,判断是否被第三个数整除,如果可以,则用一个变量将这些值累加起来。
任务2.2 要求输入一串字符,统计字母出现的次数,因此需要数据过滤,比如输入值中有标点、空格、数字等这些,是需要过滤掉的。大家可以使用Python自带的函数,Python isalpha() 方法,来过滤掉字符以外的数据,但是微微老师发现一个问题, isalpha()无法过滤掉汉字,说明在python语言里汉字是当做字母处理的。毕竟是国外老师出的题目,没有考虑这种情况是可以理解的...
任务2.3 要求用减法来实现除法,这个比较简单不做过多分析。
参考代码:
2.1代码
2.2代码
2.3代码
task3:
任务3:
3.1 创建一个接受两个参数(名和姓]的函数,其中第二个参数是可选的。根据提供的参数打印问候语。示例输出: Hello Kneth,或者hello there Kenneth of Lim!
3.2 编写一个函数,可接受任何英语单词并将其转换为拉丁语。如果您可以,编写成一个可转换整个句子的函数。
-示例输入: "technique“、 "omelet"...
-输出示例: "echniquetav" 、"omeletyay” 、"ingstray"...
分析如下:
任务3.1 考察的知识点是可变参数,当我们声明一个诸如 *param 的星号参数时,从此处开始直到结束的所有位置参数 (Positional Arguments)都将被收集并汇集成一个称为“param”的元组(Tuple)。类似地,当我们声明一个诸如 **param 的双星号参数时,从此处开始直至结束的所有关键字 参数都将被收集并汇集成一个名为 param 的字典(Dictionary)。
task4:
任务4:
4.1 编写程序接收一串输入,忽略非数字,只提取数字出来,并计算它们的相乘,将结果输出。
程序如下:
例如输入:'2 3 4 a c d' 结果如下:
4.2 给定四个单词,返回任意可能的两两的结合组合。
程序如下:
结果如下:
task5:
任务5:
5.1 编写一个程序将任何字母集转换成其相对应的NATO单词,并且实现其反向操作的函数,例如:(提示:考虑输入为小写的情况,可以使用upper函数自动转换为大写)
输入 :CAT
输出 :Charlie Alpha Tango
输入 :Charlie Alpha Tango
输出 :CAT
国际无线电通话字母表
5.2 编写一个信息加密函数,该函数接收字符串和移位量,并输出加密后的字符串。如:
输入 :I love you 移位量 :1
输出 :J mpwf zpv
前文相关:
点个在看吧~