Как предупредить пользователя, когда конкретный вход в массив меньше или равен переменной в Python - PullRequest
0 голосов
/ 03 мая 2018

Как бы вы предупредили пользователя, если конкретное время окончания равно записям, которые являются константами. Примером этого может быть «Джон», имеющий время 9,76, которое меньше текущего мирового рекорда, тогда команда печати сообщит пользователю, что спортсмен достиг мирового рекорда. Объяснение вашего открытия будет полезно.

import time
datasets= []
world_record = int(9.76)


for i in range(0, 8):
    print("Inputting Data for Lane", i)
    gender = str(input("Is the athlete male or female ")) 
    athlete = str(input("What is the athletes name "))
    finishTime = float(input("What was the finishing time "))
    dataset = [gender, athlete, finishTime]
    datasets.append(dataset)
    if finishTime == float("10"):
        print("A world record has been reached")

print("{0:<10}{1:<10}{2:<15}".format("Gender","Athlete","Finish time"))

ds = sorted(datasets, key=lambda x:x[2], reverse=False)

for s in ds:
    time.sleep(1)
    print("{0:<10}{1:<10}{2:<15}".format(s[0], s[1], s[2]))

1 Ответ

0 голосов
/ 03 мая 2018

world_record = int(9.76) округляется до 9, оставьте значение world_record = 9.76

, затем проверьте, меньше ли время окончания записи

for i in range(0, 8):
    print("Inputting Data for Lane", i)
    gender = str(input("Is the athlete male or female ")) 
    athlete = str(input("What is the athletes name "))
    finishTime = float(input("What was the finishing time "))
    dataset = [gender, athlete, finishTime]
    datasets.append(dataset)
    #check if the world record has been met
    if finishTime == world_record:
        print("A world record has been met")
    elif finishTime > world_record:
        print("A world record has been beaten")
        print("the new world record is {}".format(s[2]))
        world_record = finishTime 

OR

for s in ds:
    time.sleep(1)
    print("{0:<10}{1:<10}{2:<15}".format(s[0], s[1], s[2]))
    if finishTime == world_record:
        print("A world record has been met")
    elif finishTime > world_record:
        print("A world record has been beaten")
        print("the new world record is {}".format(s[2]))
        world_record = finishTime 

В обоих случаях я предполагаю, что вы хотите обновить world_record, если это не так, пропустите world_record = finishTime

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