У меня есть список имен. Они сортируются по году, когда они были самым популярным именем женского ребенка того года. В следующей функции я должен сообщить имя, которое появляется наиболее последовательно в данном диапазоне. Я проверяю в диапазоне 2004 до 2007Подсчет последовательных имен
В списке для этого является следующее:
['Emily','Emily','Emily','Isabel']
Нужный выход:
Emily occurred consecutively the most in this range at 3 time/s
Однако я получаю
Emily occurred consecutively the most in this range at 2 time/s
Я отправлю свой код ниже.
пример Мне дали следовать.
['A', 'A', 'B', 'C', 'C', 'C']
bestName = 'A', bestCount = 1, currentName = 'A', currentCount = 1
['A', 'B', 'C', 'C', 'C'], next name = 'A'
currentName = nextName, so currentCount = 2
[ 'B', 'C', 'C', 'C'], next name = 'B'
currentName != nextName, and currentCount > bestCount, so bestName = 'A', bestCount = 2,
now currentName = 'B', currentCount = 1
['C', 'C', 'C'] next name = 'C'
currentName != nextName, and currentCount not greater than bestCount
now currentName = 'C', currentCount = 1
['C', 'C'] next name = 'C'
currentName = nextName, so currentCount = 2
['C'] next name = 'C'
currentName = nextName, so currentCount = 3
[] no next name, loop ends
currentCount > bestCount, so bestName = 'C', bestCount = 3
И код:
def mostConsecutiveYears(names):
"""
Compute which name occurs the most times consecutively in a
list of names.
:param names (list of Name): A list of name objects
:return: A tuple containing best name (str) and the count (int)
:rtype: tuple
"""
bestName = names[0].name
bestCount = 1
currentName = names[0].name
currentCount = 1
for i in range(1,len(names)):
if names[i].name == currentName:
currentCount += 1
if currentCount > bestCount:
bestName = currentName
bestCount = currentCount
currentCount = 1
currentName = names[i].name
if currentCount > bestCount:
bestName = currentName
bestCount = currentCount
return bestName, bestCount
Я пробовал, но я до сих пор не думаю, что отступ правилен. Можете ли вы исправить свое заявление? – Andy
Да. Извини за это. – acloudypsychopass
Теперь он идентичен тому, что у меня есть в моей среде IDE. – acloudypsychopass