【发布时间】:2022-12-06 09:03:29
【问题描述】:
如果我在文本中找到值“(”,我需要对 1 求和;如果我在文本中找到“)”,我需要对 1 求和。我无法弄清楚我做错了什么
我起初尝试这样做!
file = open("day12015.txt")
sum = 0
up = "("
for item in file:
if item is up:
sum += 1
else:
sum -= 1
print(sum)
我有这么长的文本,如以下示例 (((())))((((... 如果我找到 ) 我需要减去 1,如果我找到 ( 我需要加 1... 我怎么能解决它??即使我手动更改我的文件,我总是得到 0 作为输出....
【问题讨论】:
-
一些建议:
sum是 Python 中的内置函数。将它用作变量会覆盖内置函数,这会导致令人沮丧且难以发现的错误。另一件你应该养成的习惯是使用with open("some_file_path") as file,这是一个上下文管理器,它会在你使用完文件后自动关闭它。此外,您应该使用相等运算符==而不是is进行比较。
标签: python