编 程
1.计算并返回一个非负整数在10进制下的位数。
2.对一个数组(list)中的元素从小到大排序。
3.统计一个列表中每个元素的个数,输入为一个列表,输出为一个字典,key是元素值,value是元素的个数。
4.在一个数组中查找第二大的元素。
5.假设一年365天(不考虑闰年),输入一个1~365之间的数字,输出月份和日期。例如,输入35,输出“Feburary-4”。
6.文件操作练习,打开一个文件,输入三行“hello,world!”,保存并关闭文件。打开同一个文件,追加一行“hello,python!”,保存并关闭文件。打开该文件,输出所有行。
7.计算斐波那契数列的第n项(可以考虑递归算法)。
8.定义如下的ReLU函数(神经网络的激活函数)。
9.用二维的列表表示矩阵,实现矩阵乘法的算法,并计算A2。
10.请前往Python官方网站查阅API文档中关于Random的使用方法。在二维空间中定义一个正方形区域-1≤x≤1,-1≤y≤1,用Random产生10万个位于正方形区域内的点,并计算这些点落在以(0,0)为圆心、半径为1的圆内的比例。
(1) 在中国香港、台湾等地区,行、列的翻译与大陆通用译法相反。
(2) 解决某一问题的计算步骤也被称为算法。一个算法可以用不同的语言实现。
(3) 在程序语言中,每一门语言的入门都是从屏幕输出“hello,world!”开始的。这表示,我们要用这门语言向世界问好。
(4) 下文中,有时也将变量赋值表达为用变量存储一个值,这种说法源自程序在计算机硬件上的运行方式。例如,a=1表示将值1赋值给变量a,也称用变量a存储值1。
(5) 大部分程序均用i遍历容器。i是英文index(索引)的首字母,也常用于代数中表示脚标。另外,j和k也是常用的遍历变量。
(6) 函数的概念将在0.2.5节中介绍。
(7) 实际是生成一个列表的“迭代器”,它可以像列表一样被操作,本书不详细描述。
(8) 换言之,一个模块内的全局变量的命名空间仅限于该模块内部。
(9) 这种方式并不被推荐,因为它会导致引用者能够访问更多的模块内结构。如果访问并非必要,则可能引起程序安全或者语义混淆问题。
(10) 详细列表见Python官方文档,https://docs.python.org/3/library/functions.html。
(11) 官方文档,https://docs.python.org/3.7/library/math.html。
(12) 可包含路径信息,路径信息的描述方式与操作系统中路径描述方式相同:可以是相对路径,“.”表示当前目录,“..”表示上一级目录,用“\”或者“/”分割开各级目录;也可以是绝对路径,从根目录开始,逐级描述到最终的文件。
(13) 对二进制文件,相应的参数为“rb”“wb”“ab”。
(14) 正确的编程习惯是不管对文件进行读还是写操作,最后都要调用close()来关闭文件。这样能确保操作系统对文件的任何动作不会出错:读文件之后不会破坏原文本内容,修改文件之后不会丢失最新的内容。
(15) 这类似用编辑器打开一个文件时,会有一个闪动的光标来描述当前位置,用户对文件的添加、修改、删除和选取都从光标处开始。
(16) “r+”模式在文件不存在时仍会报错。二进制文件的“wb+”“ab+”“rb+”的含义与文本文件的模式相同。