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 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀