Python练习:函数

题目1

请实现一个函数,该函数 接受两个字符串参数。分别是像下面那样的两个字符串,

他的名字是:小王
他的年龄是:18

假定所有传入的 人名 和 年龄 都是两个字符

该函数可以 获取参数字符串中的人名和年龄,并以这样的格式 小王:18返回。

实现该函数后,请调用 该函数,依次传入下面的参数。

他的名字是:关羽
他的年龄是:28
他的名字是:赵云
他的年龄是:24

调用的时候,分别使用 指定参数名调用的方式,和不指定参数名调用的方式。

最后,将调用返回结果的返回值打印出来

答案与解析


题目2

如下,

def testfunc(arg1,arg2): 
    return (arg1 + arg2)

我们这样定义一个函数后,下面哪些调用方法是错误的

testfunc(1)
testfunc(1,2)
testfunc(arg1=1,arg2=2)
testfunc(arg2=2,arg1=1)
testfunc(arg1=1,2)    
testfunc(1,arg2=2)


题目3

请描述一下,下面两个函数定义

def func1(num1,num2):
    return num1**2 + num2**2

def func2(num1,num2):
    print(num1**2 + num2**2)

有什么不同?

















































题目1-答案

函数定义如下

# 有两个参数
def getNameAge(str1, str2):
    # 用切片获取第1个参数的人名
    name = str1[-2:]

    # 用切片获取第2个参数的 年龄
    age = str2[-2:]

    # 将人名和 年龄连起来,中间是冒号

    ret = name + ':' + age

    # 别忘了, 最后一定要使用return 返回结果
    return ret

# 不指定参数名的调用
name_age1 = getNameAge('他的名字是:关羽','他的年龄是:28')
# 打印出返回结果
print(name_age1)


# 指定参数名的调用
name_age2 = getNameAge(str1='他的名字是:赵云',str2='他的年龄是:24')
# 打印出返回结果
print(name_age2)