大哥们看看这个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’    :输出 “下次再见!”,程序执行完毕

 

 

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;

 

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

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

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