小甲鱼python课后作业十七_小甲鱼Python第十七讲课后习题

本文介绍了Python函数的基本使用,包括函数文档、关键字参数的作用以及`help()`函数的使用。示例中展示了如何编写计算参数和并乘以基数的函数,查找水仙花数的程序,以及实现查找子字符串出现次数的功能。通过这些例子,读者可以深入理解Python函数的参数管理和功能实现。
摘要由CSDN通过智能技术生成

>>> MyFirstFunction.__doc__ #双低线

'函数文档在函数定义的最开头部分,用不记名字符串表示'

另外,我们用help()来访问这个函数也可以看到这个文档字符串:

>>> help(MyFirstFunction)

Help on function MyFirstFunction in module __main__:

MyFirstFunction(name)

函数文档在函数定义的最开头部分,用不记名字符串表示

2. 使用关键字参数,可以有效避免什么问题的出现呢?

关键字参数,是指函数在调用的时候,带上参数的名字去指定具体调用的是哪个参数,从而可以不用按照参数的顺序调用函数

3. 使用help(print)查看print()这个BIF有哪些默认参数?分别起到什么作用?

Help on built-in function print in module builtins:

print(...)

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

Optional keyword arguments:

file: a file-like object (stream); defaults to the current sys.stdout.

sep: string inserted between values, default a space.

end: string appended after the last value, default a newline.

flush: whether to forcibly flush the stream.

4. 默认参数和关键字参数表面最大的区别是什么?

默认参数是赋予形式参数默认值,关键字参数是使得实际参数与形参相对应而避免顺序错误引发的系统报错。

关键字参数是在函数调用的时候,通过参数名制定需要赋值的参数,这样做就不怕因为搞不清参数的顺序而导致函数调用出错。而默认参数是在参数定义的过程中,为形参赋初值,当函数调用的时候,不传递实参,则默认使用形参的初始值代替

动动手:

0. 编写一个符合以下要求的函数:

a) 计算打印所有参数的和乘以基数(base=3)的结果

b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。

不会:

def Sum(*params,base=3):

result = 0

for i in params:

result += i

return result*base

1. 寻找水仙花数

题目要求:如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如153 = 1^3+5^3+3^3,因此153是一个水仙花数。编写一个程序,找出所有的水仙花数。

自己写的:

def hua():

for x in range(100,1000):

a =x%10

b =x%100//10

c =x //100

if x ==a**3+b**3+c**3:

print(x)

print(hua())

小甲鱼:

def Daffodils():

print('所有的水仙花数为:',end='')

temp = 100

while temp < 1000:

if temp == (temp//100)**3 + ((temp%100)//10)**3 + (temp%10)**3:

print(temp,end=' ')

temp += 1

else:

temp += 1

print(Daffodils())

2. 编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为"You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.",子字符串为"im",函数执行后打印“子字母串在目标字符串中共出现3次”。

程序执行效果:

SouthEast

不会:缩小化,按字母进行比较

def findstr():

print('请输入目标字符串:',end='')

temp = input()

print('请输入子字符串(两个字符):',end='')

comp = input()

count = 0

i = 0

for i in range(len(temp)):

if temp[i] == comp[0] and temp[i+1] == comp[1]:

count += 1

i += 1

else:

i += 1

count = int(count)

print('子字符串在目标字符串中总共出现 %d 次'%count)

findstr()

小甲鱼:

def findStr(desStr, subStr):

count = 0

length = len(desStr)

if subStr not in desStr:

print('在目标字符串中未找到字符串!')

else:

for each1 in range(length):

if desStr[each1] == subStr[0]:

if desStr[each1 + 1] == subStr[1]:

count += 1

print('子字符串在目标字符串中共出现 %d 次' % count)

desStr = input('请输入目标字符串:')

subStr = input('请输入子字符串(两个字符):')

findStr(desStr, subStr)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值