【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《Python语言程序设计(美-梁勇)第6章习题解答(英文)》,欢迎阅读!
第6章 函数
6.1使用函数的好处是什么? 答:至少有三个好处:(1)重用代码(2)减少复杂性(3)易于维护 6.2如何定义一个函数?如何调用一个函数?
答:1)函数定义包括函数名称、形参以及函数体。定义函数语法如下: Def functionname(list of parmeters) #Function body
2)调用函数有两种方式。当函数有返回值时将其当做一个值处理,如:larger = max( 3 , 4);当函数每天有返回值时,对函数的调用必须是一条语句,如:print(‘ Programming is fun’) 6.3你能用传统的表达式简化程序清单6-1的max函数吗? 答:return num1 if num1 > num2 else num2
6.4对none函数的调用总是它自己语句本身,但是对带有返回值函数的调用总是表达式的一部分。这种说法正确吗?
答:如果一个函数没有返回值,默认情况下,它返回一个特殊值none。因此,无返回值函数不会返回值,它被称为none函数,none函数可以赋值给一个变量来表明这个变量不知想任何对象。
正确:调用一个函数void返回类型总是声明本身。
错误:调用一个有返回值的函数都是一个表达的一个组成部分。
6.5 none函数能不能有return语句?下面的return函数是否会造成语法错误? Def xFunction(x, y):
Print (x + y) Return
答:可以有return语句,会造成错误,因为这个函数是有返回值的函数。 6.6给出术语函数头、形参、实参的定义。
答:函数头:以一个def关键字开始,后面紧接着函数名以及形参并以冒号结束。 形参:函数头中的参数,它就像一个占位符。
实参:当调用函数时,就将一个值传递给形参,这个值就是实参。 6.8答:定义函数时未定义正确。
6.9答:None 函数无返回值 6.10答:min函数应返回一个值。 6.11比较位置参数和关键字参数。 答:使用位置参数要求的参数可以通过在相同的顺序在函数头各自的参数。你也可以使用关键字参数调用一个函数,在表单名称=值传递的每个参数。 6.12假设函数头如下所示: def f(p1,p2,p3,p4):
下面那些调用是正确的?
f (1,p2=3,p3=4,p4=4) 正确 f (1,p2=3,4,p4=4) 错误 f (p1=1,p2=3,4,p4=4) 正确 f (p1=1,p2=3,p3=4,p4=4) 正确 f (p4=1,p2=3,p3=4,p1=4) 正确 6.13什么是值传递?
答:当你调用一个带参数的函数时,每个参数的引用值就被传递给形参,这在程序设计术语
中被称为通过值传递。简单的说就是调用函数时,实参的值被传递给形参。 6.14形参和实参能同名吗? 答:可以
6.15显示下面函数的结果。 答:a、0 B、 2
2 4 2 4 8 2 4 8 16 2 4 8 16 32 C、Before the call, variable times is 3 n = 3
Welcome to CS! n = 2
Welcome to CS! n = 1
Welcome to CS!
After the call, variable times is 3 D、i is 1 1
i is 2
2
I is 3
6.17下面代码的打印结果是什么?
答:a、2 b、 3 3.4 6 2 5
4
6.18下面的代码有什么错误? 答:没有定义全局变量x、y
6.19下面的代码能运行吗?如果能,打印结果是什么? 答:能 1
6.20显示下面代码的打印结果: Def f ( w = 1 ,h = 2):
Print ( w, h)
F() 1 2 F(w = 5) 5 2 F(h = 24) 1 24 F( 4 , 5) 4 5 6.21确定下面程序的错误并改正: 答:非默认参数必须在默认参数之前
6.22如果在同一模块里定义两个同名的函数会发生什么? 答:后面的函数会取代前一个函数。
6.23函数能否返回多个值?显示下面程序的打印结果。
Def f (x , y):
Return x + y, x - y ,x * y ,x / y T1 , t2 , t3 , t4 = f( 9 , 5) Print t1, t2, t3, t4
答:14 4 45 1.8
6.24编写一个返回34到55之间,包括34和55的随机整数的表达式。 答:random.randint( 34 , 55)
6.25编写一个返回B到M之间,包括B和M的随机字符的表达式。 答:chr(random.randint(ord(‘B’),ord(‘M’)))
6.26编写一个返回6.5到56.5之间的随机数的表达式。 答:random.random() * 50 + 6.5
6.27编写一个返回随机小写字母的表达式。 答:chr(random.randint(ord(‘a’),ord(‘z’)))
本章总结
1.程序模块化和可重用性是软件工程的中心目标之一。函数可以实现这个目标。 2.函数头由关键字def开始,接下来是函数名和形式参数,最后以冒号结束。 3.形式参数是可选的:也就是说,函数可以不包含任何形式参数。 4.无返回值的参数被称为void和None函数。
5.一个return语句可以在void函数中用来终止函数并将程序控制权返回给函数的调用者。有时,这对保证函数控制流正常是非常有用的。
6.传给函数的参数必须和定义在函数头里的形参在数目、类型和顺序上保持一致。
7.当程序调用一个函数时,程序的控制权就转移到被调用的函数。当执行到函数的return语句或执行到函数的最后一条语句时,被调用的函数就将控制权转给调用者。
8.带返回值函数也可以当做Python语句被调用发。在这种情况下,函数的返回值就会被忽略。
9.函数参数可以当做位置参数或关键字参数传递。
10.当调用一个带形式参数的函数时,实参的值就被传给形参。这用程序设计术语将就是值传递。
11.函数中创建的变量被称为局部变量。局部变量的作用于从它被创建的位置开始,知道函数返回为止都存在。变量必须在使用前创建。
12.全局变量被定义在所有函数之外,而且它们可以被所有函数访问。
13.Python允许用默认参数值定义函数。当无参数调用函数时,默认值就被传给形参。 14.Python的return语句可以返回多个值。
15.函数抽象是通过将函数的使用和实现分开实现。一个用户可以在不知道函数是如何实现的情况下使用函数。函数的实现细节被封装在函数内,并对调用该函数的用户来说是隐藏的。这被称为信息隐藏或封装。
16.函数抽象将程序模块化为整齐、分层的形式。程序被写成简洁函数的集合,这样使程序更易于编写、调试、维护和修改。这种编写风格会提高函数的可重用性。
17.当实现一个大程序时,使用自顶向下或自底向上的编码方法。不要一次性编写整个程序。这个方法似乎占用更多的编码时间(因为要反复的运行这个程序),但它实际上更省时间和更易于调试。
本文来源:https://www.wddqxz.cn/143d3f911711cc7930b71616.html