zoukankan      html  css  js  c++  java
  • 《Python核心编程》第二版第160页第六章练习 续二 Python核心编程答案自己做的

    6-5.
    字符串。
    (a)更新你在练习2-7里面的方案,使之可以每次向前向后都显示一个字符串的一个字符。
    (b)通过扫描来判断两个字符串是否匹配(不能使用比较操作符或者cmp()内建函数)。
    附加题:在你的方案里加入大小写区分。
    (c)判断一个字符串是否重现(后面跟前面一致)。附加题:在处理除了严格的回文之外,加入对例如控制符号和空格的支持。
    (d)接受一个字符串,在其后面加一个反向的拷贝,构成一个回文字符串。

    【参考】
    2-7.
    循环和字串。从用户那里接受一个字符串输入,然后逐字符显示该字符串。先用while循环实现,然后再用for循环实现。
    【2-7的答案】
    代码如下:
    a = raw_input("Please input a string ... ")
    print 'Display in for loop:'
    for i in a:
        print i,
    print '\nDisplay in while loop:'
    j = 0
    while (j < len(a)):
        print a[j]
        j = j + 1

    【答案】
    (a)
    代码如下:
    a = raw_input("Please input a string ... ")
    j = 0
    print a[j] + a[j+1],
    while (j < len(a) - 2):
        j = j + 1
        print a[j-1] + a[j] + a[j+1],
    j = len(a)
    print a[j-2] + a[j-1]   
    【(a)执行结果】
    Please input a string ... apple
    ap app ppl ple le

    (b)
    代码如下:
    a = raw_input("Please input a string A... ")
    b = raw_input("Please input a string B... ")
    trigger = True
    if len(a) != len(b):
        trigger = False
    else:
        for i in range(len(a)):
            if a[i] !=  b[i]: trigger = False
    if trigger: print 'String A matches string B!'
    else: print 'String A does not match string B!'
           
    (c)
    代码如下:
    a = raw_input("Please input a string ... ")
    plalindrome = False
    j = 1
    while len(a) >= 2 and j <= len(a)-1:
        if a[j-1] == a[j] and j <= len(a) - 2:
            print a[j-1] + a[j],
            plalindrome = True
        if j == len(a)-1 and a[j] == a[j-1]:
            print a[j-1] + a[j],
            plalindrome = True
        j = j + 1
    if not plalindrome: print 'No plalindrome!'
    【未完】这段代码还有优化的空间。另外,可能对题目含义理解并不清楚。

    (d)
    代码如下:
    a = raw_input("Please input a string ... ")
    print a + a[::-1]
    【未完】可能对题目含义理解并不清楚。
    【(d)执行结果】
    Please input a string ... apple
    appleelppa

    6-6.
    字符串。创建一个string.strip()的替代函数:接受一个字符串,去掉它前面和后面的空格(如果使用string.*strip()函数那本练习就没有意义了)
    【答案】
    代码如下:
    def strip(str):
        str_b = str[1:-1]
        return str_b

    a = raw_input('Please input a string, begin and ending with space: ...')
    if a[0] == ' ' and a[len(a)-1] == ' ':
        print strip(a)
    else: print'This string should begin and end with space.'

    关键词:python核心编程答案 非官方 博客园

  • 相关阅读:
    Hadoop集群(三) Hbase搭建
    Hadoop集群(二) HDFS搭建
    Hadoop集群(一) Zookeeper搭建
    Redis Cluster 添加/删除 完整折腾步骤
    Redis Cluster在线迁移
    Hadoop分布式HA的安装部署
    Describe the difference between repeater, bridge and router.
    what is the “handover” and "soft handover" in mobile communication system?
    The main roles of LTE eNodeB.
    The architecture of LTE network.
  • 原文地址:https://www.cnblogs.com/balian/p/1954822.html
Copyright © 2011-2022 走看看