随机生成字符串或输入字符串,判断字符串是否是回文字符串
回文字符串定义:将字符串反过来,和原字符串完全一致,则是回文字符串
知识点:
字符串逆序: 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('检测并关闭子进程')