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核心编程答案 非官方 博客园

  • 相关阅读:
    Oracle-DQL 7- 集合操作
    Oracle-DQL 6- 子查询
    Oracle-DQL 5- 分组函数(多行函数)
    Oracle-DQL 4- 多表查询
    Oracle-DQL 3- 单行函数
    构建gulp项目
    重开Vue2.0
    ES6
    emmet简单记录
    webpack 3.X研究
  • 原文地址:https://www.cnblogs.com/balian/p/1954822.html
Copyright © 2011-2022 走看看