我想在python中返回一個而不是true。在python中返回1而不是true
我工作的代碼是:
delimiters = ('()', '[]', '{}', "''", '""')
esc = '\\'
def is_balanced(s, delimiters=delimiters, esc=esc):
stack = []
opening = tuple(str[0] for str in delimiters)
closing = tuple(str[1] for str in delimiters)
for i, c in enumerate(s):
if len(stack) and stack[-1] == -1:
stack.pop()
elif c in esc:
stack.append(-1)
elif c in opening and (not len(stack) or opening[stack[-1]] != closing[stack[-1]]):
stack.append(opening.index(c))
elif c in closing:
if len(stack) == 0 or closing.index(c) != stack[-1]:
return False
stack.pop()
return len(stack) == 0
num_cases = raw_input()
num_cases = int(num_cases)
for num in range(num_cases):
s = raw_input()
print is_balanced(s)
它基本上是檢查輸入的字符串是否是平衡與否。如果平衡,應該返回1,如果不是0
我嘗試這樣做:
1
Test string
True
返回TRUE。我希望它返回1.我該怎麼做?
你爲什麼要這麼做? – Fabian
'True'和'False'是'True == 1'和'False == 0'的int類的子類。事實上,你可以用'True'和'False'完成所有正常的算術運算。 '1 + True'是一個值表達式(並且計算結果爲2)。同樣,「1 + False」的計算結果與您預期的一樣。 – mgilson