数据结构与算法(Python语言实现)——第一章课后练习题(巩固类)

发布于 / python / 0 条评论

第一章巩固类共有10道练习题


1.编写一个Python函数is_multiple(n,m),用来接收两个整数值n和m,如果n是m的倍数,即存在整数i使得 n = mi,那么函数返回True,否则返回False

2.编写一个Python函数is_even(k),用来接收一个整数k,如果k是偶数返回Ture,否则返回False,但是,函数汇总不能使用乘法、除法或取余操作

3. 编写一个Python函数minmax(data),用来在数的序列中找出最大和最小数,并以一个长度为2个元组的形式返回。注意不能使用内置函数max和min实现

4. 编写一个Python函数,用来接收正整数n,返回 1~n的平方和

5. 基于Python的解析语法和内置函数sum,写一个单独的命令来计算练习题4中的和

6. Python允许负整数作为序列的索引值,如果一个长度为n的字符串s,当索引值 -n <= k < 0时,所指的元素为s[k],那么求一个正整数的索引值 j >= 0,使得 s[j]指向的也是相同的元素。

答:因为python允许负数作为索引值,且s[-1]指向字符串的最后一位元素,s[-2]指向倒数第二位,以此类推。故如果找到某一个负数索引值k,得到s[k]的元素,那么 j = n +k ,使得s[j] 与 s[k]指向的是同一个元素。

7. 要生成一个值为50,60,70,80的排列,求range构造函数的参数

8. 要生成一个值为 8,  6,  4,  2,   0,-2,-4,-6,-8的排列,求range构造函数中的参数

9. 演示怎么使用列表推导式生成列表[1,2,4,8,16,32,64,128,256]

10. Python的random模块包括一个函数choice(data),可以从一个非空序列中返回一个随机的元素。Random模块还包含一个更基本的randrange函数,参数化类似于内置的range函数,可以在给定范围内返回一个随机数。只使用randrange函数,实现自己的choice函数。

总结:

巩固类的题目都不难,但是考察了很多基础知识,如果基础不扎实可能会出现无从下手或是把简单问题复杂化的境地。

第10题的思想十分巧妙,不管输入的序列是元组、字符串或是列表。都将它们元素的随机输出,转化为元素在列表中对应的索引值的随机,然后再通过列表的索引访问到元素并返回。这样巧妙的避开了输入序列中元素的多样性。

转载原创文章请注明,转载自: adaptの小站 » 数据结构与算法(Python语言实现)——第一章课后练习题(巩固类)

Not Comment Found