您的位置:首页 > 编程语言 > Python开发

零基础学习Python 作业 第19章

2018-03-14 10:43 411 查看
============CH19 homework ============

0 下面程序会输入什么?

def next():
print('我在next()函数里...')
pre()

def pre():
print('我在pre()函数里...')

next()


Answer:

我在next()函数里…

我在pre()函数里…

1 请问这个函数有返回值吗?

def hello():
print('Hello FishC!')


Answer: 有,返回 ‘None’

2 请问Python的return语句可以返回多个不同类型的值吗?

Answer: 可以,返回元组类型

3 目测以下程序会打印什么内容?

def fun(var):
var = 1314
print(var, end =' ')

var = 520
fun(var)
print(var)


Answer: 1314 520

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())


Answer: ’ Baby I love you’

Practice

0 编写一个函数,判断传入的字符串是否为”回文联”(回文联即用回文形式写成的对联

既可以顺读也可以倒读。例如:上海自来水来自海上)

code

def HuiWen(str1):
length = len(str1)
flag = 0
for i in range(length):
if str1[i] == str1[length - 1 - i]:
flag = 1
else:
flag = 0

if flag == 1:
print(str1, '-> 是回文联')
else:
print(str1, '-> 不是回文联')

str1 = input('请输入一句话: ')
HuiWen(str1)

def HuiWenNew(string):
str1 = list(string)
str2 = reversed(str1)

if str1 == list(str2):
return '是回文联'
else:
return '不是回文联'

print(HuiWenNew('你爱我爱你'))


1 编写一个函数,分别统计传入字符串参数(可能不止一个参数)的英文字母、空格、数字

和其他字符的个数

程序执行结果如下图:

第一个字符串共有: 英文字母 13 个, 数字 0 个, 空格 2 个, 其他字符 2 个。
第二个字符串共有: 英文字母 17 个, 数字 0 个, 空格 5 个, 其他字符 2 个。


code

def countStr(*prams):
length = len(prams)

for i in range(length):
letters = 0
num    = 0
space  = 0
other  = 0
for each in prams[i]:
if each.isalpha():
letters += 1
elif each.isdigit():
num += 1
elif each == ' ':
space += 1
else:
other += 1
print('第 %d 个字符串共有: 英文字母 %d 个, 数字 %d 个, 空格 %d 个, 其他字符 %d 个' % (i+1,
letters, num, space, other))

countStr('I love you!', 'Are you kidding me', '5201314 just for you')

# result
第 1 个字符串共有: 英文字母 8 个, 数字 0 个, 空格 2 个, 其他字符 1 个
第 2 个字符串共有: 英文字母 15 个, 数字 0 个, 空格 3 个, 其他字符 0 个
第 3 个字符串共有: 英文字母 10 个, 数字 7 个, 空格 3 个, 其他字符 0 个
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息