У меня есть назначение на python (2.7), которое просит меня получить вывод для строки. В 4-х вопросе предлагается указать букву алфавита, которая была раньше. Этот тест содержит только первый символ каждого слова предложения. Пример: «это предложение», результат должен быть «а», поскольку это первая буква алфавита.Неверный вывод в петле строки 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 принято писать простые имена переменных во всех строчных строчках. Имена, начинающиеся с буквы верхнего регистра, обычно используются для классов. Выделение синтаксиса переполнения стека отображает имена классов в голубых тонах, поэтому ваш сценарий выглядит немного странным и раздражает ветеранов Python. –