我有一个关于python(2.7)的任务,它要求我为字符串获取输出。 在这个问题中,它被要求提供前面的字母表。这个测试只测试句子每个单词的第一个字符。 示例:“这是一个句子”结果应该是“a”,因为它是字母表的第一个字母。python字符串循环输出错误
这里是我的代码(包括分配的以前的问题)
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
这样做给我一句的第一个字的第一个字母,而不是在字母顺序最早的字母。
我在哪里做错了?过去两天我已经看过这个,我看不出我做错了什么。
字符串是否总是小写字母和所有字母字符? –
@PadraicCunningham:不要忘记空间。 :)似乎sylvain使用Python 2,因为他们在评论中提到了“raw_input”,所以我想我们可以安全地假设这些字符串是字节字符串,而不是Unicode。 OTOH,他们_might_可能包含重音字母... –
顺便说一句,在Python中用常规的方式写出全部小写的普通变量名。以大写字母开头的名称通常用于类。 Stack Overflow语法突出显示了青色的类名,所以你的脚本看起来有点奇怪,并且让Python退伍军人感到震惊。 –