python - 在元音程序中没有打印
问题描述
我正在创建一个元音程序来检查包含所有元音的字符串。元音也应该只出现一次。我创建的程序如下
n=input()
d=0
c=0
j=0
for i in range(0,len(n)):
if(n[i]=="a" or n[i]=="e" or n[i]=="i" or n[i]=="o" or n[i]=="u"):
c=c+1
for j in range(i+1,len(n)):
if(n[i]==n[j]):
d=d+1
if(c==5):
if(d==0):
print("The number is a vowelgram")
else:
print("The number isnt a vowelgram")
不幸的是,该程序没有打印任何内容。我似乎无法在代码中找到错误。帮助表示赞赏。谢谢
解决方案
您可以使用all
来检查所有元音是否都在字符串中并且恰好是一次:
n = input('Enter string: ')
n = n.lower()
if all(x in n and n.count(x) == 1 for x in {'a', 'e', 'i', 'o', 'u'}):
print('It is a vowelgram.')
else:
print('It is not a vowelgram.')
推荐阅读
- java - 多次发送同一个请求,使用不同的参数,由于第一次请求响应而发送另一个请求
- r - For - 循环遍历行和列,填充一个空数据帧,具体取决于另一个数据帧 (r) 的值
- android - 目标需要一个项目来执行但是这个目录中没有POM但是目录中有POM文件
- javascript - React 的 Plotly.js uirevision 不起作用
- html - 如何让文本溢出在具有动态宽度的容器中工作?
- terraform - 如何忽略terraform中的块
- apache - 从 Apache 到 Nginx 的 Imperva WAF X-Forwarded-For HTTP Header 的某个指南需要解释
- python - 在 Python 中声明全局对象
- sql - 如何按时间范围内的组进行分区?
- robotframework - 元素未在框架内出现 xyz 秒,机器人框架