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;

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 streamingtool
  • ¥15 MATLAB图像问题
  • ¥20 树莓派5做人脸情感识别与反馈系统
  • ¥15 selenium 控制 chrome-for-testing 在 Linux 环境下报错 SessionNotCreatedException
  • ¥15 使用pyodbc操作SQL数据库
  • ¥15 MATLAB实现下列
  • ¥30 mininet可视化打不开.mn文件
  • ¥50 C# 全屏打开Edge浏览器
  • ¥80 WEBPACK性能优化
  • ¥30 python拟合回归分析