Сравнение элементов списка по парам по очереди в Python
Сравнение элементов списка по парам по очереди, и вывод данных сколько раз первое число было больше второго, сколько раз раз первое число было равно второму? 3 число из списка сравнить с 4, 5 с 6 итд.
Опишу задачу, человек решил бегать каждый день, и хочет значть в какой из дней он бегал больше чем в предыдущий, именно сравнения должны по очереди идти, а не сравнивать со всеми днями. Мой говнокод выглядит так,
listA = []
day = int(input("Дней бега:"))
for day in range(0, day):
km = float(input("КМ в день: "))
listA.append(km)
print("Вы бегали", day+1, "дней по", *listA, "км.")
if listA[0] == listA[1]:
print("Не было улучшений")
elif listA[0] >= list[1]:
если сравнить два первых элемента списка я еще понял как, то как сделать так чтобы если в списке было 10 дней то он сделал 5 сравнений? и если 20 то 10! так как каждый раз лист состоит из разного количества элементов... и также нужно чтобы Python вывел в "print" мне все данные типа когда было улучшение? а когда его не было? и самое важное мне важно знать сколько в принципе раз было улучшение? ("Вы улучшили свой результат 3 раза" напримре так)
Перевод задания с немецкого
"Гюнтер хочет подготовиться к марафону. для этого он бегает по субботам • Он измеряет каждую пробежку. Он хочет узнать, как часто текущий пробег лучше предыдущего. • Гюнтер называет этот сценарий «улучшением». Создайте функцию, которая получает список километров пробега за день в качестве параметра и выводит, как часто Гюнтер имеет "улучшение"."
Ответы (1 шт):
Посчитать количество дней с большим пробегом, чем в предыдущий. Сравнений будет, кстати, 9 для 10 дней (n-1)
largecnt = 0
for day in range(1, len(listA)):
if listA[day] > listA[day-1]:
largecnt+=1
print('дней с увеличением: ', largecnt)
Можно добавить
if lista[i] > listA[i-1]:
largecnt+=1
ещё чего-то делать
elif lista[i] == listA[i-1]:
так же
else:
хуже