我有一个关于Python(2.7)的任务,要求我输出一个字符串。在第4个问题中,要求给出字母表中先出现的字母。这只测试每个单词的第一个字符。示例:“this is a sentence”结果应为“a”,因为它是字母表中的第一个字母。
以下是我的代码(包括前几个问题)
def GetNumWords ( Sentence ):
Count = 0
Length = len( Sentence )
Index = 0
while Index < Length:
Char = Sentence [ Index ]
if Char != ' ':
Count += 1
while Char != ' ' and Index < Length:
Char = Sentence [ Index ]
Index += 1
else:
Index += 1
return Count
def GetWordNum ( Sentence, WordNum ):
Count = 0
Length = len( Sentence )
Index = 0
Word = ''
while Index < Length:
Char = Sentence [ Index ]
if Char != ' ':
Count += 1
while Char != ' ' and Index < Length:
Char = Sentence [ Index ]
Index += 1
if Count == WordNum:
Word = Word + Char
else:
Index += 1
if Word == '':
return ''
else:
return Word
def GetFirstLetter ( Sentence, SpecificNum):
TheWord = GetWordNum ( Sentence, SpecificNum )
if TheWord == '':
return ''
else:
FirstLetter = TheWord [ 0 ]
return FirstLetter
def GetEarliestLetter ( Sentence ):
CurrentMinNum = 1
CurrentMin = GetFirstLetter ( Sentence, CurrentMinNum )
LastWord = GetNumWords ( Sentence )
if CurrentMin == '':
return ''
else:
while CurrentMinNum <= LastWord:
FirstLetter = CurrentMin
if FirstLetter < CurrentMin:
CurrentMin = FirstLetter
CurrentMinNum += 1
else:
break
return CurrentMin
这样做可以获得句子中第一个单词的第一个字母,而不是字母表顺序中最早的字母。
我错在哪里了?我已经查看了过去两天,但是我看不出我错在哪里。