【发布时间】:2018-03-14 12:18:59
【问题描述】:
我正在编写一个简单的 Python 程序,将用户输入的单圈时间存储在一个列表中,然后在该列表上执行一些函数。
我的问题是,尽管在将单圈时间附加到列表之前明确将单圈时间声明为“浮动”,但它们仍以字符串形式存储。这意味着我无法在列表中执行 sum() 之类的函数,因为我收到错误消息,例如:TypeError: unsupported operand type(s) for +: 'int' and 'str'。
代码如下:
lapTimes = []
count = 0
while True:
count += 1
lap = input("Enter lap time " + str(count) + ": ")
if lap == 'x':
break
else:
float(lap)
print(type(lap))
lapTimes.append(lap)
print(type(lapTimes[-1]))
print("Fastest Lap time was: ", min(lapTimes))
print("Slowest lap time was: ", max(lapTimes))
在 else 子句中将 'lap' 声明为浮点数后,我写了一行来打印 'lap' 的数据类型,运行时我被告知它是一个字符串!
我对 print(type(lapTimes[-1])) 行做了同样的事情,只是为了确保,是的,我仍然被告知数据是一个字符串。
底部应该有更多的代码行打印列表的总和和平均单圈时间,由于这个问题,这将不起作用。
【问题讨论】:
-
请在while循环中缩进你的代码。