将项目分配给字符串的方法?
Ways to go around assigning an item to a string?
我正在尝试通过计算 formula.Starting 中有多少括号 s=0 并增加 s[= 来重写公式31=] 每当找到“(”并在找到“)”时减少它,但将“(”和“)”保留在新字符串中对应于它们的原始索引。这听起来很简单,也许应该如此,但我找不到解决方案。这是我编码的内容:
def parenthesis(text):
s=0
result=""
for character in text :
if character=="(":
s+= 1
if s>0 :
result+= str(s)
if s==0 :
result+=str(0)
elif character==")":
s-=1
return result
对于此输入:
print parenthesis("(asss)+(aa(12))")
我明白了
111111011122221
我在将“(”和“)”分配给与原始索引相对应的数字时遇到问题。
喜欢:
(1111)0(11(22))
我现在已经尝试了很多次来实现与此类似的东西:
for i in range(len(result)):
if result[i-1]<result[i]:
result[i] = "("
if result[i-1]>result[i]:
result[i] = ")"
当然,这是一个字符串赋值,它不会像这样工作,所以我的问题是我该如何解决这个问题,或者如果有更简单的方法,我会洗耳恭听,感谢您的帮助。
识别后需要在结果中加上括号。您只需添加计数即可。
看起来您正在寻找这样的东西:
def parenthesis(text):
count = 0
result = ""
for character in text:
if character == "(":
count += 1
result += "("
elif character == ")":
count -= 1
result += ")"
else:
result += str(count)
return result
print parenthesis("(asss)+(aa(12))")
这输出:
(1111)0(11(22))
我正在尝试通过计算 formula.Starting 中有多少括号 s=0 并增加 s[= 来重写公式31=] 每当找到“(”并在找到“)”时减少它,但将“(”和“)”保留在新字符串中对应于它们的原始索引。这听起来很简单,也许应该如此,但我找不到解决方案。这是我编码的内容:
def parenthesis(text):
s=0
result=""
for character in text :
if character=="(":
s+= 1
if s>0 :
result+= str(s)
if s==0 :
result+=str(0)
elif character==")":
s-=1
return result
对于此输入:
print parenthesis("(asss)+(aa(12))")
我明白了
111111011122221
我在将“(”和“)”分配给与原始索引相对应的数字时遇到问题。
喜欢:
(1111)0(11(22))
我现在已经尝试了很多次来实现与此类似的东西:
for i in range(len(result)):
if result[i-1]<result[i]:
result[i] = "("
if result[i-1]>result[i]:
result[i] = ")"
当然,这是一个字符串赋值,它不会像这样工作,所以我的问题是我该如何解决这个问题,或者如果有更简单的方法,我会洗耳恭听,感谢您的帮助。
识别后需要在结果中加上括号。您只需添加计数即可。
看起来您正在寻找这样的东西:
def parenthesis(text):
count = 0
result = ""
for character in text:
if character == "(":
count += 1
result += "("
elif character == ")":
count -= 1
result += ")"
else:
result += str(count)
return result
print parenthesis("(asss)+(aa(12))")
这输出:
(1111)0(11(22))