python3 程序设计 第6章课后题答案

本文详细解释了Python中的函数嵌套定义、可变参数、基本数据类型与组合数据类型的传递差异、常用数学和字符运算函数、global语句、默认参数概念,以及如何使用内置函数sorted()。还提供了编程练习,涉及判断奇偶、大小写转换、求最大公约数和最小公倍数、数字反转和递归计算序列和问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.选择题

二.简答题

(1)什么是函数的嵌套定义?请举例说明。

(2)函数的可变参数有哪几种?各有什么特点?

(3)函数传递时,用基本数据类型和组合数据类型作参数,有什么区别?请举例说明。

(4)在内置函数中,列出5种常用的数学运算函数和字符运算函数。

(5)global语句的功能是什么?

(6)什么是默认参数?

3.阅读程序

(1)以下结果的运行结果是什么?

(2)以下结果的运行结果是什么?

(3)下面的程序用于模拟python内置函数sorted()的功能。在函数sorting(ls)中,ls是一个包含若干数值的列表,函数的返回值为排序后的列表,但实参ls不发生变化。完善程序,在[代码1]和[代码2]处补充合适的内容。

4.编程题

(1)编写函数isodd(x),如果x不是整数,给出提示后退出程序;如果x是奇数,返回True;如果x为偶数,返回Flase 。

(2)编写函数change(str1),其功能是对参数str1进行大小写转换,将大写字母转换成小写字母;将小写字母转换成大写字母;非英文字符不转换。

(3)编写并测试函数gcd(m,n)和lcm(m,n),其功能是求两个整数m,n的最大公约数和最小公倍数。

(4)编写并测试函数reverse(x),输入一个整数,并将各位数字反转后输出。

(5)用递归方法反转一个字符串,如“abcde”,反转为“edcba”。

(6)编写程序求1^2-2^2+3^2-4^2+…………+97^2-98^2+99^2。


一.选择题

1.B 2.D 3.D 4.B 5.C 6.B 7.C 8.D

9.D 可变参数一般要在传统参数之后,传统参数在指定时必须明确指定名称,而可变参数是用于处理不定数量的参数,再说一下默认参数,没有传入值时,参数的值就默认了。比如def c(a=2),假如没有传入值时,a就等于2

10.A

11.C从用户输入的字符串中删除所有非数字字符,然后打印结果,如果w不是列表,而是字符串,你可以使用类似方法遍历

12.A你用global在函数内声明 z 为全局变量,你可以在函数内改变全局变量z的值,通过代码,我们可以看出z的值被改为了36,先打印z原先的值,最后打印调用loc_glo()后的值,所以最后打印出来就是10 36

二.简答题

(1)什么是函数的嵌套定义?请举例说明。

在函数内部定义的函数,但内嵌的函数只能在该函数内部使用。

def sum(n):
    def fact(a):
        函数体
    函数体    #需要注意的是内嵌函数只能在该函数内部使用    

(2)函数的可变参数有哪几种?各有什么特点?

1.不定长位置参数:通常情况下,在参数名前加上星号*,可以让函数接受任意数量的位置参数,这些参数将被封装为一个元组。
def func(*args):
    pass
func(1,2,3) #args=(1,2,3)
2.不定长关键字参数:通常在参数名前加上双星号**,可以让函数接受任意数量的关键字参数,这些参数将被封装为一个字典。
def func(**kwargs):
    pass
func(a=1,b=2,c=3)   #kwargs={'a':1,'b':2,'c':3}

(3)函数传递时,用基本数据类型和组合数据类型作参数,有什么区别?请举例说明。

  • 基本数据类型是指不能再细分的数据类型,通常包括整数(int)、浮点数(float)、布尔值(bool)、字符串(str)等。

  • 这些数据类型是不可变的,也就是说它们的值一旦创建就不能被修改,任何对它们的操作都会返回一个新的值。

  • #example
    x=5
    y=x #将x的值赋给y
    x=10 #修改x的值
    print(y) #输出结果为5,因为整数是不可改变的,y的值不受x修改的影响
  • 组合数据类型是指可以包含多个元素的数据类型,通常包括列表(list)、元组(tuple)、集合(set)、字典(dict)等。

  • 这些数据类型是可变的,也就是说它们的值可以被修改,可以添加、删除或修改其中的元素。

  • #列表是一个组合数据类型
    list1=[1,2,3]
    list2=list1
    list1.append(4)
    print(list2)   #输出结果为[1,2,3,4],因为列表是可变的,list2的值受list1影响

(4)在内置函数中,列出5种常用的数学运算函数和字符运算函数。

数学运算函数:

  1. abs(x):返回x的绝对值。

  2. round(x,[n]):将x四舍五入到指定的小鼠位数n,默认为0。

  3. max(iterable,[key]):返回可迭代对象中的最大值,或者多个参数中的最大值

  4. min(iterable,[key]):返回可迭代对象中的最小值,或者多个参数中的最小值

  5. sum(iterable,[key]):返回可迭代对象元素中的所有元素的和,可指定初始值为start

字符运算函数:

  1. len(s):返回字符串s的长度(字符数或元素数)

  2. str(x):将对象x转换为字符串表示形式

  3. chr(i):返回Unicode码位i对应的字符

  4. ord(c):返回字符c对应的unicode码位

  5. format(value,format_spec):根据指定的格式化字符串format_spec,格式化值value,并返回结果字符串

(5)global语句的功能是什么?

用于在内部函数声明全局变量

(6)什么是默认参数?

默认参数是在定义函数时给参数指定的一些默认值。当函数被调用时,如果没有给定这些参数的值,那么就会使用默认参数值。默认参数使得函数调用时更加灵活,可以省略一些常用的参数,同时也可以在需要时指定不同的值。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值