python - 寻找简单问题的更简单解决方案
问题描述
我是 Python 新手,目前正在学习在线课程。这是我在作业中遇到的问题之一。看起来我已经正确解决了它,但看看我的代码,它看起来很复杂。我想知道还有什么其他方法可以解决这个问题,这样我才能学得更好。谢谢你。
问题是:
编写一个 Python 函数来检查字符串是否为 pangram。(假设传入的字符串没有任何标点符号)
注意:Pangrams 是包含字母表中的每个字母至少一次的单词或句子。例如:“敏捷的棕狐跳过懒惰的狗”
ispangram("敏捷的棕狐跳过了懒狗")
回答 :
import string
space = ""
def ispangram(str1, alphabet=string.ascii_lowercase):
str1 = sorted(str1.replace(" ", "").lower())
if set(space.join(str1)) == set(string.ascii_lowercase):
return True
else:
return False
解决方案
您将其转换为函数,这使用生成器表达式并使用 ASCII 代码:
s = "A quick brown fox jumps over the lazy dog"
print(all(chr(x).lower() in s for x in range(65,91)))
布尔值将指示是否所有字符都存在。一个功能:
def ispangram(s):
return all(chr(x).lower() in s for x in range(65,91))
它将首先遍历 65 到 91 的范围,然后将它们从 ascii 代码转换为它们的字符并检查它是否在 s 中,并将所有 26 个条件与all()
AND 结合起来。并返回结果。
推荐阅读
- java - 如何保存 ActionListener Java 的登录信息
- java - 与串口通信 - iOS Swift
- objective-c - Objective-C 中的以下代码有什么问题?
- javascript - 为什么单击删除按钮时会发送获取请求?
- css - CSS 伪:溢出后
- reactjs - 最后一个元素未添加到状态元素的数组中
- python - srun(或 mpirun)如何在不同的集群节点上同步执行环境?
- testlink - 如何卸载 Bitnami 测试链接
- javascript - 单击按钮时更改图片JQuery
- database - mongodb没有名为restore的角色