内容来源于网络,本人只是在此稍作整理,如有涉及版权问题,归小甲鱼官方所有。
练习题(来自小甲鱼官方论坛)
0. 下边程序会输入什么?
def next():
print('我在next()函数里...')
pre()
def pre():
print('我在pre()函数里...')
next()
答:
我在next()函数里...
我在pre()函数里...
1. 请问以下这个函数有返回值吗?
def hello():
print('Hello FishC!')
答:答:有。 会返回一个None的对象。如果没有使用return语句指定返回值,Python也不是什么都不返回的,Ta会返回一个None对象,所以我们说Python所有的函数都有返回值。
>>> def hello():
print("hello fishc")
>>> temp = hello()
hello fishc
>>> temp
>>> print(temp)
None
>>>
2. 请问Python的return语句可以返回多个不同类型的值吗?
答:可以,默认用逗号隔开,是以元祖的形式返回,你当然也可以用列表包含起来返回。
>>> def myFun():
return '测试测试', 520, 3.14, True
>>> myFun()
('测试测试', 520, 3.14, True)
>>> def myFun2():
return ['小甲鱼', 1314, 5.12, False]
>>> myFun2()
['小甲鱼', 1314, 5.12, False]
>>>
3. 目测以下程序会打印什么内容:
def fun(var):
var = 1314
print(var, end='')
var = 520
fun(var)
print(var)
答:
1314520
4. 目测以下程序会打印什么内容?
var = ' Hi '
def fun1():
global var
var = ' Baby '
return fun2(var)
def fun2(var):
var += 'I love you'
fun3(var)
return var
def fun3(var):
var = ' 小甲鱼 '
print(fun1())
答:
Baby I love you
编程题
0. 编写一个函数,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,既可顺读,也可倒读。例如:上海自来水来自海上)。
答:
代码一
def palindrome(string):
length = len(string)
last = length-1
length //= 2
flag = 1
for each in range(length):
if string[each] != string[last]:
flag = 0
last -= 1
if flag == 1:
return 1
else:
return 0
string = input('请输入一句话:')
if palindrome(string) == 1:
print('是回文联!')
else:
print('不是回文联!')
代码二
def palindrome(string):
list1 = list(string)
list2 = reversed(list1)
if list1 == list(list2):
return '是回文联'
else:
return '不是回文联'
print(palindrome('1234abcdedcba4321'))
1. 编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数。
答:
def count(*param):
length = len(param)
for i in range(length):
word = 0
num = 0
spa = 0
oth = 0
for j in param[i]:
if j.isalpha():
word += 1
elif j.isspace():
spa += 1
elif j.isdigit():
num += 1
else:
oth += 1
print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个'
% (i + 1, word, num, spa, oth))
count('I love fish.com 123', 'I love you', 'you love 123')
输出:
第 1 个字符串共有:英文字母 12 个,数字 3 个,空格 3 个,其他字符 1 个
第 2 个字符串共有:英文字母 8 个,数字 0 个,空格 2 个,其他字符 0 个
第 3 个字符串共有:英文字母 7 个,数字 3 个,空格 2 个,其他字符 0 个
2.请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
答:
- 函数与过程:过程(procedure)是简单的,特殊且没有返回值的;函数(Function)有返回值,Python严格来说只有函数没有过程
- 返回值可以是一个int类型,可以返回一个列表,可以返回一个元组
- 局部变量:在局部生效如在函数中定义的变量
- 全局变量:作用于整个模块。函数内若试图修改全局变量,Python会新建一个同名局部变量用于存储修改值,原全局变量的值不变