[Python3] 函数定义与使用[TZZ]
1、Python3中必须通过“def 函数名(参数1, 参数2, …)砜实蛰斓: 语句块”的格式定义一个自定义函数。启动IDLE程又挨喁钒序,在输入提示符中输入“def dump(v):”并回车,然后在下一行中输入“print(v)”并回车。接着,连续按2次回车键,确认函数dump的代码编写。在新的输入提示符中,输入“dump('Hello Python!')”并回车,可以见到dump()函数的执行结果;
2、定义一个求两个数和的函数sum(),然后通过dump()函数输出该函数的调用结果(可以多调用几次,每次传入不同的值,熟悉Python对数值运算的处理);
3、定义一个求两个数差的函数sub(),然后输出该函数的调用结果;
4、定义一个求两个数乘积的函数mul(),然后输出该函数的调用结果;
5、定义一个求两个数商的函数div(),然后通过dump()函数输出该函数的调用结果。如果调用div()函数时,故意将除数(第2个参数)指定为0,Python将会报除零错误;
6、定义一个求两个数模的函数mod(),然后通过dump()函数输出该函数的调用结果。根据测试结果可知,Python支持对浮点数(小数)进行取模操作;
7、加减乘除四种函数都试过了之后,我们再写一个判断素数的函数。写这个函数之前,我们可以先重置一下IDLE的Shell环境。点击IDEL菜单栏上的“Shell > Restart Shell”;
8、素数(质数)定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。在程序中判断一个数是否为素数有3种方法。我们先试试最低效的那个,即判断从2~N(需要判断的自然数)中是否存在能够被N苻抽苍黪整除的数,存在则该数不是素数。在输入提示符中,定义一个名为isPrime(n)的函数,然后输入下图中所示的代码。注意:这份代码只判断了输入数n是否大于1,但是并没有检测n是否为整数(自然数);
9、继续定义一个打印指定数字范围内的素数的函数checkPrime(from, to拘七呷憎)。可惜,from是Python的关键字,一回车它就报错了。因此,将其改为checkPrime(st锾攒揉敫art, end)。然后输入下图中所示的函数实现代码并调用checkPrime(1, 100)。其中用到的内建函数range(),用于返回一个按指定步长增长的列表,因此可以与for..in语句配置使用(注:print()函数中可以传入多个参数,它们会在同一行中顺次显示);
10、第2种判断素数的方法是判断整数n能够被2~n / 2内的整数整除,如果能则不是素数。在输入提示中,通过ALT + P,将代码回退到足毂忍珩isPrime()函数的定义代码,然后将其改为isPrime2()并修改range()范围;
11、定义另一个打印指定数字范围内素数的函数checkPrime2()(通过ALT + P回退到checkPrime()的定义代码进行修改),该函数中通过isPrime2()函数判断数字是否为素数;
12、在输入提示符中调用checkPrime2()函数。Python直接就报错了。意思是说n / 2是一个浮点数,range()中要求一个整数;
13、回退到isPrime2()的定义代码,用int()函数将n / 2强制转换为整数。然后,重新在提示符中调用checkPrime2()函数,可以见到正确的打印结果;
14、第3种判断素数的方法是判断2~(√N + 1)中是否存在能被N整除的数,存在则表示该数不是素数(需要import math模块并调用sqrt()求平方根,暂时跳过)。Enjoy!