Python I';I’我想找出每100米跑的平均速度、最小速度和最大速度
我已经编写了以下代码来输入距离、速度和时间,并返回每100米的平均、最小和最大速度。代码运行一次,在第二次运行时,我得到底部显示的错误Python I';I’我想找出每100米跑的平均速度、最小速度和最大速度,python,Python,我已经编写了以下代码来输入距离、速度和时间,并返回每100米的平均、最小和最大速度。代码运行一次,在第二次运行时,我得到底部显示的错误 sparray=[] lasttime=0 newtime=0 lastdist=0 newdist=0 i=1 while 1: dist=float(input("distance")) speed = float(input("speed")) sparray.append(speed) print(sparray)
sparray=[]
lasttime=0
newtime=0
lastdist=0
newdist=0
i=1
while 1:
dist=float(input("distance"))
speed = float(input("speed"))
sparray.append(speed)
print(sparray)
time = float(input("time"))
if (dist >= 100 * i):
newtime = time
newdist = dist
kmtime = newtime - lasttime
kmdist = newdist - lastdist
avg = kmdist / kmtime
print("AVG: ", avg)
maxi = max(sparray)
mini = min(sparray)
print("MAX: ", maxi)
print("MIN: ", mini)
sparray = []
i = i + 1
lastdist = dist
lasttime = time
avg=0
max=0
min=0
错误:
回溯(最近一次调用上次):文件
“C:/Users/Mahe.000/PycharmProjects/serialgraph/venv/test.py”,第21行,
在里面
maxi=max(sparray)TypeError:“int”对象不可调用
您已经声明/正在代码中使用max和min变量。它们覆盖最大值和最小值函数 这里 当您调用
max()
python试图将您的调用应用于int变量时,您会得到您报告的错误
解决方案:为max
和min
变量使用不同的名称
我注意到在代码中没有使用max
和min
变量,除非将它们初始化为0
在这种情况下,只需删除这部分代码:
max=0
min=0
您已经声明/正在代码中使用max和min变量。它们覆盖最大值和最小值函数 这里 当您调用
max()
python试图将您的调用应用于int变量时,您会得到您报告的错误
解决方案:为max
和min
变量使用不同的名称
我注意到在代码中没有使用max
和min
变量,除非将它们初始化为0
在这种情况下,只需删除这部分代码:
max=0
min=0
在循环结束时,您将用
0
覆盖max
和min
函数。为什么每次都初始化max=0和min=0,我认为这并不需要,如果您希望在sparray中获得最大值,只需调用max(sparray)在循环结束时,您将使用0
覆盖max
和min
函数。为什么每次都初始化max=0和min=0,我想这并不需要,如果您想在sparray中获得最大值,只需简单地调用max(sparray)即可。非常感谢您的帮助,即使这很愚蠢。谢谢你。@dkr很高兴我帮助了你:)非常感谢你的帮助,即使这很愚蠢。谢谢。@dkr很高兴我帮了你:)