Расчет мин, макс без использования списка - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь решить проблему из учебника по питону:

Напишите программу, которая запрашивает у пользователя, сколько раз он бегал по ипподрому, а затем использует цикл, чтобы запросить его.ввести время круга для каждого из их кругов.Когда цикл заканчивается, программа должна отображать время их самого быстрого круга, время их самого медленного круга и их среднее время круга.

До сих пор концепция списков не была введена, но я могу 'Не думайте о способе вычисления минимального, максимального времени круга без использования min (), max () в списке.

Вот мой код:

num_laps = int(input('Enter number of laps you ran: '))


total_time = 0.0
lap_time_list = []

for lap in range(1,num_laps+1):
    lap_time = float(input('\nEnter the lap time in minutes for each lap from first to last: '))
    total_time += lap_time
    lap_time_list.append(lap_time)


avg_time = total_time / num_laps
fast_lap = min(lap_time_list)
slowest_lap = max(lap_time_list)

# Display the time of fastest lap, slowest lap and average lap time

print('\nAverage lap time:',avg_time,'mins')
print('\nFastest lap time:',fast_lap,'mins')
print('\nSlowest lap time:',slowest_lap,'mins')

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Можно рассмотреть подход «кэш и дамп», при котором вы проверяете, является ли текущая запись самой быстрой или самой медленной.В любом случае замените переменную отслеживания текущим значением ввода.

total_time = 0

for lap in range(1,num_laps+1):
    current_lap_time = eval(input("what's the lap time?"))

    # if it's the first lap, it will be our starting point
    if lap == 1:
        slowest_time = current_lap_time
        fastest_time = current_lap_time

    #check if the current lap time is the slowest
    if current_lap_time > slowest_time:
        slowest_time = current_lap_time

    # check if the current lap time is the fastest
    if current_lap_time < fastest_time:
        fastest_time = current_lap_time

    # calculate total time
    total_time += current_lap_time

# calculate average time
average_time = total_time / num_laps
0 голосов
/ 13 февраля 2019

ну, я думаю, вы можете сделать это довольно просто, без списка.просто следите за самыми большими и самыми маленькими числами, замеченными до сих пор .. правильно?не уверен, что это работает, но простой пример - это нечто вродеработать правильно, используя концепцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...