检查输入的第一个字符是否是元音不起作用

2024-03-29 00:23:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个程序来决定输入后面的限定词。你知道吗

#For now, this only works with letters A-D.
MyInput = input("What word do you want to find out if the determiner is a/an?")
Finder = list(MyInput)
if ('a' in Finder):
    print ("Start with an.")
else:
    print ("Start with a.")

但是,有一个小错误。当我输入单词“bad”时,它说我需要在单词前面加一个“an”。我只想说,当第一个字母是A时,我需要在单词前面加“an”。这个问题的解决办法是什么?你知道吗


Tags: 程序anonlyforiffinderwiththis
2条回答

关于这个问题,使用str.startwith将是最明确的方法:

# For now, this only works with letters A-D.
my_input = input("What word do you want to find out if the determiner is a/an?")
if my_input.startswith('a'):
    print ("Start with an.")
else:
     print ("Start with a.")

请注意,您不需要从字符串创建列表:字符串是可iterable的,它们支持in和开箱即用的索引。你知道吗

还要注意可读性的改进:

  • 使用大小写命名变量
  • 以空格开始评论
  • 不要把条件句放在括号里

请参阅PEP8,python样式指南,了解有关codestyle的更多问题和详细信息。你知道吗

干杯!你知道吗

这是因为in检查字符是否可以在字符串中的任何位置找到。当你用“坏”字的时候,它可以。如果要检查第一个字符,请使用Finder[0]

MyInput = input("What word do you want to find out if the determiner is a/an?")
Finder = list(MyInput)
if (Finder[0].lower() == 'a'):
    print ("Start with an.")
else:
    print ("Start with a.")

相关问题 更多 >