• 【Python】利用字符串切片输出回文诗



    什么是切片

    切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

    切片的语法:[起始:结束:步长]
    格式: [start:end :step]

     [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
    
     [start:] 从start 提取到结尾
    
     [:end] 从开头提取到end - 1
    
     [start:end] 从start 提取到end - 1
    
     [start:end:step] 从start 提取到end - 1,每step个字符提取一个
    
     左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    示例

    str = 'abcdefg'
     
    print(str[1:])
    print(str[:-1])
    print(str[-1:])
    print(str[::-1])
    print(str[:])
     
    -------------------------------------------------------------------------------------------
     
    结果
    bcdefg
    abcdef
    g
    gfedcba
    abcdefg
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    利用字符串切片输出回文诗

    案例一 苏东坡和诗

    秦少游送苏小妹: 静思伊久阻归期忆别离时闻漏转

    苏小妹送秦少游: 采莲人在绿杨津一阕新歌声漱玉

    苏东坡和诗: 赏花归去马如飞酒力微醒时已暮
    样例:
    静思伊久阻归期,
    久阻归期忆别离。
    忆别离时闻漏转,
    时闻漏转静思伊。

    代码实现:

    def poem(str):
        print(str[0:7] + ',')
        print(str[3:10] + '。')
        print(str[7:14] + ',')
        print(str[10:] + str[0:3] + '。')
    
    print("------------------------")
    poem("静思伊久阻归期忆别离时闻漏转")
    print("------------------------")
    poem("采莲人在绿杨津一阕新歌声漱玉")
    print("------------------------")
    poem("赏花归去马如飞酒力微醒时已暮")
    print("------------------------")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    静思伊久阻归期,
    久阻归期忆别离。
    忆别离时闻漏转,
    时闻漏转静思伊。
    ------------------------
    采莲人在绿杨津,
    在绿杨津一阕新。
    一阕新歌声漱玉,
    歌声漱玉采莲人。
    ------------------------
    赏花归去马如飞,
    去马如飞酒力微。
    酒力微醒时已暮,
    醒时已暮赏花归。
    -----------------------
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    案例二 《四时山水诗》

    明末浙江才女吴绛雪作《四时山水诗》,诗云:

    春 景 诗(莺啼岸柳弄春晴夜月明)
    夏 景 诗(香莲碧水动风凉夏日长)
    秋 景 诗(秋江楚雁宿沙洲浅水流)
    冬 景 诗(红炉透炭炙寒风御隆冬)

    春景诗
    莺啼岸柳弄春晴,
    柳弄春晴夜月明。
    明月夜晴春弄柳,
    晴春弄柳岸啼莺。

    代码实现:

    def poem(str):
        print(str[0:7] + ',')
        print(str[3:10] + '。')
        print(str[-1:-8:-1] + ',')
        print(str[-4:-11:-1] +  '。')
    
    print("------------------------")
    print("春 景 诗")
    poem("莺啼岸柳弄春晴夜月明")
    print("------------------------")
    print("夏 景 诗")
    poem("香莲碧水动风凉夏日长")
    print("------------------------")
    print("秋 景 诗")
    poem("秋江楚雁宿沙洲浅水流")
    print("------------------------")
    print("冬 景 诗")
    poem("红炉透炭炙寒风御隆冬")
    print("------------------------")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    春 景 诗
    莺啼岸柳弄春晴,
    柳弄春晴夜月明。
    明月夜晴春弄柳,
    晴春弄柳岸啼莺。
    ------------------------
    夏 景 诗
    香莲碧水动风凉,
    水动风凉夏日长。
    长日夏凉风动水,
    凉风动水碧莲香。
    ------------------------
    秋 景 诗
    秋江楚雁宿沙洲,
    雁宿沙洲浅水流。
    流水浅洲沙宿雁,
    洲沙宿雁楚江秋。
    ------------------------
    冬 景 诗
    红炉透炭炙寒风,
    炭炙寒风御隆冬。
    冬隆御风寒炙炭,
    风寒炙炭透炉红。
    ------------------------
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
  • 相关阅读:
    pytorch初学笔记(一):如何加载数据和Dataset实战
    Socket编程
    PgSQL-内核特性-TupleTableSlotOps
    推荐一款.Net Core开发的后台管理系统YiShaAdmin
    Springboot子模块Unable to find main class
    幸福心理与抗逆力培养的工控系统安全实验课程研究
    在Anaconda或者Linux系统中导入或导出requirements.txt中的代码环境
    【软考经验分享】软考-中级-嵌入式备考
    S3 Client:Timeout waiting for connection from pool 问题追踪
    JavaSE基础知识(未完待续)
  • 原文地址:https://blog.csdn.net/pdsu_Zhe/article/details/126540583