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 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题