【发布时间】:2015-12-19 00:52:21
【问题描述】:
我正在处理Advent of Code: Day 2,并且在处理列表时遇到了麻烦。我的代码采用一个字符串,例如 2x3x4,并将其拆分为一个列表。然后它检查列表中的“x”并删除它们并将该值提供给计算所需面积的方法。问题是,在它删除'x'之前,我需要找出'x'之前是否有两个数字并将它们组合起来,以解释两位数。我研究过正则表达式,但我认为我没有正确使用它。有什么想法吗?
def CalcAreaBox(l, w, h):
totalArea = (2*(l*w)) + (2*(w*h))+ (2*(h*l))
extra = l * w
toOrder = totalArea + extra
print(toOrder)
def ProcessString(dimStr):
#seperate chars into a list
dimStrList = list(dimStr)
#How to deal with double digit nums?
#remove any x
for i in dimStrList:
if i == 'x':
dimStrList.remove(i)
#Feed the list to CalcAreaBox
CalcAreaBox(int(dimStrList[0]), int(dimStrList[1]), int(dimStrList[2]))
dimStr = "2x3x4"
ProcessString(dimStr)
【问题讨论】: