我怎样才能让我的代码 return 平均数?
How can I let my code return the average of the numbers?
所以我写了一个代码,可以 return 到 parse_dist(s)
的距离和 parse_time(s)
的总时间。但是,我定义了另一个函数 jogging_average(activities)
,它将 return activities: list
.
中每个字符串的距离和时间
现在我想让jogging_average(activities: list) return (x+x)/(y+y)(基本上是平均值)。我怎样才能修改我的代码来找到这样的平均值??
def jogging_average(activities: list[str]):
cum_dist = cum_time = 0
for activity in activities:
if activity.startswith("jogging"):
cum_dist += float(parse_dist(activity))
cum_time += parse_time(activity)
return cum_time/cum_dist
与你的问题无关,关于你的解析函数,你可以考虑
import re
def parse_time(s: str) -> float:
result = list(map(int,re.search("(?<=time:)(\d+(,\d+)?)").group(0).split(",")))
return result[0]*60 + (0 if len(result) < 2 else result[1])
def parse_dist(s: str) -> int:
return float(re.search("(?<=distance:)(\d+(.\d+)?)").group(0))
所以我写了一个代码,可以 return 到 parse_dist(s)
的距离和 parse_time(s)
的总时间。但是,我定义了另一个函数 jogging_average(activities)
,它将 return activities: list
.
现在我想让jogging_average(activities: list) return (x+x)/(y+y)(基本上是平均值)。我怎样才能修改我的代码来找到这样的平均值??
def jogging_average(activities: list[str]):
cum_dist = cum_time = 0
for activity in activities:
if activity.startswith("jogging"):
cum_dist += float(parse_dist(activity))
cum_time += parse_time(activity)
return cum_time/cum_dist
与你的问题无关,关于你的解析函数,你可以考虑
import re
def parse_time(s: str) -> float:
result = list(map(int,re.search("(?<=time:)(\d+(,\d+)?)").group(0).split(",")))
return result[0]*60 + (0 if len(result) < 2 else result[1])
def parse_dist(s: str) -> int:
return float(re.search("(?<=distance:)(\d+(.\d+)?)").group(0))