Python 如果不使用列表,如何解决此问题?

Python 如果不使用列表,如何解决此问题?,python,Python,问题:你是一名游泳运动员,你想比较你所有的比赛时间,找出最快的一次。编写一个程序,从标准输入中连续将比赛时间加倍,直到输入不再是比赛,这时它应该打印出你最快比赛的时间 我在另一个线程中找到的答案是使用如下列表: list1 = [] race_time = input("Enter a race time or type no more races to quit: ") while race_time != "no more races": list1.append(float(rac

问题:你是一名游泳运动员,你想比较你所有的比赛时间,找出最快的一次。编写一个程序,从标准输入中连续将比赛时间加倍,直到输入不再是比赛,这时它应该打印出你最快比赛的时间

我在另一个线程中找到的答案是使用如下列表:

list1 = []
race_time = input("Enter a race time or type no more races to quit: ")
while race_time != "no more races":
    list1.append(float(race_time))
    race_time = input("Enter a race time or type no more races to quit ")
print(min(list1))

问题来自if-else,循环章节和列表还没有介绍给我们。如何存储比赛时间并进行比较?

您只需存储到目前为止看到的最佳时间,以及新时间最好覆盖旧时间的时间:

import math

best_time = math.inf
[... your code ...]
while ...:
    if race_time < best_time:
        best_time = race_time

如果没有列表,存储所有种族将有点困难。但由于您只是在寻找最快的比赛:

race_time = input("Enter a race  time or type no more races to quit: ")
best_time=float(race_time) 
while race_time != "no more races":
    race_time = input("Enter a race time or type no more races to quit ")
    if race_time != "no more races":
       race_time=float(race_time) 
        if race_time<best_time:
            best_time=race_time

print(best_time)

你可以做很多事情:使用字典,阅读文件等等。但是如果你说你还没有使用列表,我怀疑你会使用它们。大多数人会采用列表的一般方法,如果你使用的是一本书,我会假设这是一个供喜欢提前阅读的人使用的问题。@BSQL字典或文件不会使这个问题变得更容易,直接的解决方案也不涉及列表。它只是想让你跟踪最短时间。还没有介绍到模块中。@Cruise5你可以用best_time=float'inf'替换best_time=math.inf@Cruise5或者你可以先设置best_time=None,然后检查best_time是None还是race_time