【发布时间】:2014-11-01 23:22:25
【问题描述】:
我有一个计算机课的作业,其中一个问题要求我们编写一个代码,该代码将计算数字的平均值,直到它变成一个字母(字母)。
这是描述:
此函数接收一个包含数字或字母的字符串作为输入。 该函数应返回一个浮点数,该浮点数包含从字符串中的第一个位置开始考虑字符串中的所有数字并考虑所有数字直到找到一个字母或直到到达字符串末尾的平均值。如果没有数字,函数应该返回值
0.0。
所以我想出了以下代码:
def avgUntilLetter (st):
digits1 = [int(x) for x in st if x.isdigit()]
total = sum(digits1)
if digits1:
avg = float(total) / len(digits1)
return avg
if st.isalpha():
return 0.0
例如,对于答案,如果 CodeWrite 放入 avgUntilLetter('123a456'),我应该得到 2.0 作为返回值。我得到了所有数字的平均值,我需要在我的代码中输入什么来解决这个问题?
【问题讨论】:
-
就目前而言,当到达非数字时,您的代码不会尝试停止;发生这种情况时,您需要在某个地方
break。 -
我对此投了赞成票,因为 OP 做出了合理的尝试来自己解决这个问题,并包含了他们的代码、预期的输出以及他们得到的结果。跨度>