零基础学习Python 作业 第19章

============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')

# result1 个字符串共有: 英文字母 8 个, 数字 0 个, 空格 2 个, 其他字符 1 个
第 2 个字符串共有: 英文字母 15 个, 数字 0 个, 空格 3 个, 其他字符 0 个
第 3 个字符串共有: 英文字母 10 个, 数字 7 个, 空格 3 个, 其他字符 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值