朋友的小孩在国外大学学习,由于刚好知道微微老师在国内大学教Python,因此时不时会问一些问题,由此也接触到了国外老师是如何教Python的,看了他们给学生出的题目作为每周的任务,感觉还是很不错的,借此机会简单整理给大家分享一下,古人教导我们要博采众长,诗经·小雅·鹤鸣》曰:“他山之石,可以攻玉。”。题目如下,每周完成一个任务(task),一个任务有多道题目,难度也是由浅入深递进。

task1:

他山之石可以攻玉|Python英文题解答之一_整除

任务1:

写一个程序,提示输入值。如果输入是偶数,输出“偶数”;如果是奇数,则输出“奇数”。考虑一下如果值既不是偶数也不是奇数(譬如该值可能是小数,也可能根本不是数字)。

分析如下:

由于题目要求提示用户输入,所以需要判断用户有可能输错的情况,大家知道只有整数可以判断奇偶,因此小数,或者不是数字的情况都属于需要过滤的。大家可以使用try/except语句来实现异常判断。数据过滤之后,剩下的奇偶数判断就看是否可以被2整除即可。

参考代码:

他山之石可以攻玉|Python英文题解答之一_整除_02

task2:

他山之石可以攻玉|Python英文题解答之一_数据_03

任务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代码

他山之石可以攻玉|Python英文题解答之一_数据过滤_04

2.2代码

他山之石可以攻玉|Python英文题解答之一_python语言_05

2.3代码

他山之石可以攻玉|Python英文题解答之一_python语言_06

task3:

他山之石可以攻玉|Python英文题解答之一_数据_07

任务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)。