python开发案例教程-清华大学出版社(张基温)答案(2.4)

目录

练习2.4

1、判断题

2、选择题

3、代码分析题

4、程序设计题


练习2.4


1、判断题


(1)  ' '、\t、\f、\n 和\r 称为空白字符。                                                                        (    )
(2) 用 format()函数可以将任意数量的字符串或数字按照模板字符串中对应的格式模板字段进行转
换并替换后,将这个模板字符串返回。                                                                     (    )
(3) 正则表达式中的 search()方法可用来在一个字符串中寻找模式,匹配成功则返回对象,匹配失败则返回空值 None。                                                                                                     (    )
(4) 正则表达式中的元字符\D 用来匹配任意数字字符。                                             (    )

2、选择题


(1) Python 语句 print(len(‘\x48\x41!’))的执行结果是        ( D)
A. 9                        B. 6                C. 5                D. 3


(2) Python 语句 print(‘\x48\x41!’)的执行结果是        ( D)
A."\x48\x41!"                B. 4841!                       C. 4841                D. HA

3)下列关于字符串的说法中,错误的是        (A
A. 字符串以\0 标志字符串的结束
B. 字符应该视为长度为 1的字符串
C. 既可以用单引号,也可以用双引号创建字符串
D. 在三引号字符串中可以包含换行、回车等特殊字符


(4)要将 3.1415926 变成 00003.14,正确的格式化是        (B
A. "%.2f" % 3.1415629                                B."%8.2f"% 3.1415629
C. "%0.2f"% 3.1415629                             D."%08.2f"%3.1415629


3、代码分析题


(1)下面代码的输出是什么?

import re
sum = 0;pattern = "boy"

if re.match(pattern,"boy and girl") : sum += 1

if re.match(pattern,"girl and boy") : sum += 2
if re.search(pattern,"boy and girl") : sum += 3

if re.search(pattern,"girl and boy"): sum += 4

print (sum)

8


(2)下面代码的输出是什么?

import re
re.match("to","Wang likes to swim too")

re.search ("to","wang likes to swim too")

re.findall("to","wang likes to swim too")

import re
r = re.match("to", "Wang likes to swim too")
print(r)
r = re.search("to", "wang likes to swim too")
print(r)
r = re.findall("to", "wang likes to swim too")
print(r)

>>>
None

['to', 'to']


(3) 下面代码的输出是什么?

import re
m = re.search("to"."Wang likes to swim too")

print (m.group() ,m.span () )

to (11, 13)


4、程序设计题


(1) 编写代码,实现下列变换。
        A. 将字符串 s ="alex"转换成列表
        B. 将字符串 s ="alex"转换成元祖。
        C. 将列表 li=["alex","seven"] 转换成元组。
        D. 将元祖 w =('Alex',"seven") 转换成列表。

if __name__ == '__main__':
    # A.将字符串 s = "alex"转换成列表
    # B.将字符串s = "alex"转换成元祖。
    # C.将列表 li = ["alex", "seven"]  转换成元组。
    # D.将元祖 w = ('Alex', "seven") 转换成列表。
    s = "alex"
    a = list(s)
    print(a)
    b = tuple(s)
    print(b)
    li = ["alex", "seven"]
    c = tuple(li)
    print(c)
    w = ('Alex', "seven")
    d = list(w)
    print(d)

['a', 'l', 'e', 'x']
('a', 'l', 'e', 'x')
('alex', 'seven')
['Alex', 'seven']

(2) 有如下列表

li = ["hello","seven" ,["mon",["h","kelly"],"all" ], 123,446]


请编写代码,实现下列功能。
        A. 输出 Kelly。
        B. 使用索引找到 all 元素并将其修改为 ALL
   

if __name__ == '__main__':
    # A. 输出 Kelly。
    # B. 使用索引找到 all 元素并将其修改为 ALL
    li = ["hello", "seven", ["mon", ["h", "kelly"], "all"], 123, 446]
    # A
    print(li[2][1][1])

    def find_all(l):
        for i in l:
            if type(i) is list:
                find_all(i)
            elif type(i) is str:
                if "all" in i:
                    print(i)
    find_all(li)
    # B
    li[2][2] = "ALL"
    print(li)

(3)设计一个函数 myStrip(),它可以接收任意一个字符串,输出一个前端和后端都没有空格的字符串

import re

if __name__ == '__main__':
    # 设计一个函数 myStrip(),它可以接收任意一个字符串,输出一个前端和后端都没有空格的字符串
    string = "  hello world  "

    # fun 1
    def myStrip_1(s):
        result = s.strip()
        print(result)

    # fun 2
    def myStrip_2(s):
        result = re.sub('^ +| +$', '', s)
        print(result)

    # fun 3
    def myStrip_3(s):
        v = 0
        k = -1
        if len(s) > 1:
            for i in range(0, len(s)):
                if s[i] != ' ':
                    v = i
                    break

            for j in range(-1, -len(s)):
                if s[j] != ' ':
                    k = j
                    break

        print(s[v:k-1])


    myStrip_1(string)
    myStrip_2(string)
    myStrip_3(string)

你可能感兴趣的:(python开发案例教程,mysql,数据库)