m0_56651206 2021-06-13 09:53 采纳率: 100%
浏览 101
已采纳

大哥们看看这个python怎么写啊???

    1. 自定义函数ispalindrome(str):实现对参数str的判断:若是回文返回True,否则返回False
    2. 自定义函数formpalindrome(str):利用参数str生成回文:以str最后一个字符为中心,生成回文,比如“123”->“12321”;“Acdc”->“AcdcdcA
    3. 程序执行时:先使用input()函数接收一串字符,放在一个变量(比如s)中
    4. 调用自定义函数ispalindromic(),判断字符串s,根据返回的结果判断
      1. 如果是回文:打印“您输入的‘********’是回文!”
      2. 若不是回文:打印“您输入的‘***’不是回文!”,并调用函数formpalindromic(),生成该字符串对应的回文(见要求b),另起一行打印:“将其转变为回文的效果为:‘********’”
  1. 本次判断输出完毕,提示用户是否继续再来一次(Y/N)
  2. 根据用户的选择(Y/N):
    1. 不是’n’或’N’:通过外层while循环继续实现多次上述操作
    2. ‘n’或’N’    :输出 “下次再见!”,程序执行完毕

 

 

  • 写回答

2条回答 默认 最新

  • 关注
    def is_palindrome(str):
        low = 0
        high = len(str) - 1
    
        while low < high:
            if str[low] != str[high]:
                return False
            low += 1
            high -= 1
        return True
    def formpalindrome(str):
        print('将其转变为回文的效果为')
        for i in range(len(str) - 1):
             print(str[i], end='')
        print(str[::-1])
    def ispalindromic(str):
        if is_palindrome(str):
            print("您输入的'"+str+"'是回文!")
        else:
            print("您输入的'" + str + "'不是回文!")
            formpalindrome(str)
    
    while(1):
        print("请输入一串文字:")
        s=input()
        ispalindromic(s)
        print('再来一次(Y/N)')
        c=input()
        if c==str('n'):
            print("下次再见!")
            break;

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 有问必答小助手 2021-06-16 14:45
    关注

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stm32f103串口无法正常发送接收数据
  • ¥15 如何仅使用递归法改变链表顺序
  • ¥30 频率与占空比均可调的方波发生器
  • ¥15 VB6.0中PICTUREBOX加载本地图片无法显示
  • ¥100 关于游戏app session获取的问题
  • ¥15 爬虫程序爬取TTGChina网站文章代码
  • ¥35 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
  • ¥15 如何用下图方法在AMESim中搭建离心泵模型
  • ¥15 C#连接服务器,请求时报Ssl/Tsl未能建立安全通道
  • ¥15 xcode15build的c++ dylib在10.15上不兼容