首页 > 解决方案 > 在元音程序中没有打印

问题描述

我正在创建一个元音程序来检查包含所有元音的字符串。元音也应该只出现一次。我创建的程序如下

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")

不幸的是,该程序没有打印任何内容。我似乎无法在代码中找到错误。帮助表示赞赏。谢谢

标签: pythonpython-3.x

解决方案


您可以使用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.')

推荐阅读