python检测回文数据

随机生成字符串或输入字符串,判断字符串是否是回文字符串

回文字符串定义:将字符串反过来,和原字符串完全一致,则是回文字符串

知识点:
字符串逆序: s[::-1]
生成随机字符串数据:

ss = 'abcdefghijklmnopqrstuvwxyz1234567890'
temp_str = random.choices(ss, k=random.randint(4, 12))
temp_str = ''.join(temp_str)

多层菜单: 函数和main()和if __name__ == '__main__'结合使用

import copy
import random
import time


# 随机生成字符串
# 手动输入字符串
# 字符串长度不定
# 字符串逆序
# 逆序字符串和顺序字符串的判断
# 可操作的多层级菜单
# 输入abcd输出dcba


# 检测回文函数
def check_str(ins: str):
    nsi = ins[::-1]
    if ins == nsi:
        print('回文检测成功,回文字符串{}'.format(ins))
    else:
        print('回文检测失败,非回文字符串{}'.format(ins))


# 字符串输入函数
def wait_input():
    while True:
        input_str = input('请输入需要检测的字符串(quit):')
        if input_str == 'quit':
            print('退出')
            break
        else:
            check_str(input_str)


# 生成随机长度回文的函数
def random_huiwen_str():
    number = random.randint(3, 8)
    huiwen_list = []
    for i in range(number):
        ss = 'abcdefghijklmnopqrstuvwxyz1234567890'
        temp_str = random.choices(ss, k=random.randint(4, 12))
        temp_str = ''.join(temp_str)
        huiwen_str = temp_str + temp_str[::-1]
        print('随机生成回文成功,回文字符串:{}'.format(huiwen_str))
        huiwen_list.append(huiwen_str)


def main():
    while True:
        ins = input("欢迎来到回文程序...\n1输入检测、2随机产生、q退出, 请选择(1 2 q):")
        if ins == 'q':
            break
        elif ins == '1':
            wait_input()
        elif ins == '2':
            random_huiwen_str()
        else:
            print('识别失败,请重新输入')


if __name__ == '__main__':
    print('程序初始化中...')
    time.sleep(1)
    print('分配内存空间')
    time.sleep(0.1)
    print('程序载入成功')
    main()
    time.sleep('检测并关闭子进程')




©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容