Список Массива объявляет победителей и времена - PullRequest
0 голосов
/ 07 апреля 2019

Пользовательский ввод 8 раз гонки для двух разных команд Chevy и Ford Объявите победителя каждой гонки. Покажите время, которое они выиграли в секундах. Объявите команду, которая выиграла больше всего.

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

#Team Chevy
Chevy = [0.0] * 8
for i in range(8):
    Chevy[i] = float(input("Enter Chevy race time's: "))
    i = i + 1
for i in range(0,8):
    print("Chevy", str(i+1) + ": ", Chevy[i]) # I want to be able to remove the print function so I don't have the times showing up with the input and the print. But it messes up my winner determination when I remove it.

#Team Ford   
Ford = [0.0] * 8
for j in range(8):
    Ford[j] = float(input("Enter Ford race time's: "))
    j = j + 1
for j in range(0,8):
    print("Ford", str(j+1) + ": ", Ford[j])

#Determine winner    
if Chevy[0] > Ford[0]:
    winner = Chevy[0] - Ford[0]
    print("Ford wins by",winner,"sec")
elif Ford[0] < Chevy[0]:
    winner = Chevy[0] - Ford[0]
    print("Chevy wins by",winner,"sec")

Результаты

Enter Chevy race time's: 1
Enter Chevy race time's: 2
Enter Chevy race time's: 3
Enter Chevy race time's: 4
Enter Chevy race time's: 5
Enter Chevy race time's: 6
Enter Chevy race time's: 7
Enter Chevy race time's: 8
Chevy 1:  1.0
Chevy 2:  2.0
Chevy 3:  3.0
Chevy 4:  4.0
Chevy 5:  5.0
Chevy 6:  6.0
Chevy 7:  7.0
Chevy 8:  8.0

Enter Ford race time's: 9
Enter Ford race time's: 8
Enter Ford race time's: 7
Enter Ford race time's: 6
Enter Ford race time's: 5
Enter Ford race time's: 4
Enter Ford race time's: 3
Enter Ford race time's: 2
Ford 1:  9.0
Ford 2:  8.0
Ford 3:  7.0
Ford 4:  6.0
Ford 5:  5.0
Ford 6:  4.0
Ford 7:  3.0
Ford 8:  2.0

Chevy wins by 8.0 sec

Отображать только время ввода. Показать победителей каждой гонки (гонка 1 - Chevy [0] против Ford [0]). Объявите победителей каждой гонки или ничьей. Объявите команду с наибольшим количеством побед.

1 Ответ

0 голосов
/ 07 апреля 2019

Python предлагает несколько способов создания списка, каждый из которых имеет свои преимущества, попробуйте изучить их все.Код следует с тремя способами сделать это.Обратите внимание, что вам не всегда нужен индекс «я» для просмотра списка.

R = int(input("Enter the number of races: "))
#Team Chevy
Chevy = []
for c in range(R):
    Chevy.append(float(input("Enter Chevy race {} time's: ".format((c+1)))))
#
#Team Ford   
Ford = [0.0] * R
for f, F in enumerate(Ford, start=1):
    Ford[f-1] = float(input("Enter Ford race {} time's: ".format(f)))
#
#Determine winner    
k = 1
for Chevy, Ford in zip(Chevy, Ford):
    delta_time = Chevy - Ford
    if delta_time < 0 :
        print("Chevy wins race {} by {} s.".format(k, (-delta_time)))
    if delta_time > 0 :
        print("Ford wins race {} by {} s.".format(k, delta_time))
    if delta_time == 0 :
        print("The race {} was a Draw with the time of {} s.".format(k, Chevy))
    k += 1
#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...