type

Easter79
• 阅读 490

type-of-python作业

作业练习:要想检查文本是否属于回文需要忽略其中的标点、空格与大小写。例如,“Rise to vote, sir.”是一段回文文本,但是我们现有的程序不会这么认为。你可以改进上面的程序以使它能够识别

这段回文吗?

**注:**本文中用的python版本为3.70,编译器:PyCharm edu

参考的网站网站一网站二网站三网站四:多谢前辈的指导!!!

import string
import re

# 将字符串反转,并返回
def reverse(text):
    return text[::-1]

# 检测反转后的字符串和最开始的字符串是否相同
def is_palindrome(text):
    text0 = clear(text)
    return text0 == reverse(text0)

# 将数据的字符串中的空白字符和标点符号
def clear(text):
    # 去掉字符串中的空白字符
    text1 = re.sub('\s','',text)
    bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
    # 此为中文标点符号
    punc = "!?。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏."
    # string.punctuation 此为英文标点符号
    mark=''.join([punc,string.punctuation])
    bytes1 = mark.encode(encoding='utf-8',errors='strict')
    bytestr = text1.encode(encoding='utf-8',errors='strict')
    # 去掉字符串中的标点符号
    return (bytestr.translate(bytes_tabtrans,bytes1)).decode("utf-8")

# 从客户端输入被检测的字符串
something = input("Enter text: ")
if is_palindrome(something):
    print("Yes, it is a palindrome")
else:
    print("No,it is not a palindrome" )

博客有哪里写的不对的地方,多谢留言评论

点赞
收藏
评论区
推荐文章
一只编程熊 一只编程熊
2年前
【LeetCode每日一题 Day 5】5. 最长回文子串
大家好,我是编程熊,今天是LeetCode每日一题的第五天,一起学习LeetCode第五题《最长回文子串》。题意给你一个字符串s,找到s中最长的回文子串。示例txt输入:s"babad"输出:"bab"解释:"aba"同样是符合题意的答案。题解方法一采用简单暴力的方法,枚举每一个位置为单独回文中心(长度为奇数的子串,如aba)或者回文中心
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Kubrnete Kubrnete
3年前
动态规划之马拉车算法
问题描述:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。如"abc"有三个回文子串‘a','b','c'.示例1:输入:"abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:"aaa"输出
DaLongggggg DaLongggggg
3年前
python刷题-回文数
问题描述  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式  按从小到大的顺序输出满足条件的四位十进制数。foriinrange(1000,10000):astr(i)ifaa::1:print(a)直接输出即可回文数fornin
Stella981 Stella981
2年前
K8s(7)
仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,以及管理集群资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序
Wesley13 Wesley13
2年前
Unittest 框架之断言,你学会了吗??
unittest断言  Python在unittest.TestCase类中提供了很多断言方法。断言方法检查你认为应该满足的条件是否确实满足。如果该条件确实满足,你对程序行为的假设就得到了确认,你就可以确信其中没有错误。如果你认为应该满足的条件实际上并不满足,Python将引发异常。下表描述了6个常用的断言方法。
Stella981 Stella981
2年前
Flink 专题
CheckPoint1\.checkpoint保留策略默认情况下,checkpoint不会被保留,取消程序时即会删除他们,但是可以通过配置保留定期检查点,根据配置当作业失败或者取消的时候,不会自动清除这些保留的检查点。java:CheckpointConfi
Wesley13 Wesley13
2年前
125. 验证回文串
\TOC\题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例1:输入:"Aman,aplan,acanal:Panama"输出:true示例2:输入:"raceacar"输出
Stella981 Stella981
2年前
DevOps作业要求
DevOps作业要求:请仔细阅读题目的要求,并编写一些程序来创建、配置部署环境并部署相应的软件包。如果你提交了多份解决方案,我们将只评价一种。对于程序语言,我们期望你使用puppet、chef、ansible或者powershell,甚至是ruby、python等。你不能使用外部的程序库或者其他人实现的模块来解决问题,但是你可以使用外部的工具来构建测
Wesley13 Wesley13
2年前
2018软件工程第五次作业(结对二)
结对作业:小学计算题生成程序一、题目要求我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:能够自动生成四则运算练习题可以定制题目数量用户可以选择运算符用户设置最大数(如十以内、百以内等)用户选择是否有括号、是否有小数用户选择输出方式(如输出到文件、打印机等)
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k