python - 是什么导致 Python 中的冒号预期错误?
问题描述
我试图在以下代码中了解预期的冒号错误。任何帮助表示赞赏。
代码是 -
if df.loc['pivot'] > df.loc['Open'] :
df.loc['Signal'] = 1
elif df.loc[['Open'] > df.loc['IB'] and df.loc['Open'] > df.loc['pivot'] and df.loc['Open'] < df.loc['OB']:
df.loc['Signal'] = 0
elif (((df.loc['Open']) <= (((df.loc['2_pips']) - 5)/ 1000)) * (df.loc['pivot'])) and ((df.loc['Open']) >= (((df.loc['1_pips']) + 10)/ 1000 * (df.loc['pivot']))) and ((df.loc['Open']) >= (df.loc['pivot'])) :
df.loc['Signal'] = 1
elif (df.loc['Open'] <= ((df.loc['1_pips'] * df.loc['pivot']) + df.loc['pivot'] )) and (df.loc['Open'] > (((df.loc['1_pips'] - 10) * df.loc['pivot']) + df.loc['pivot'])) :
df.loc['Signal'] = 1
elif ((df.loc['Open'] < OB) and (df.loc['Open'] < df.loc['pivot'])):
df.loc['Signal'] = -1
elif ((df.loc['Open'] <= OB) and (df.loc['Open'] >= IB) and (df.loc['Open'] < df.loc['pivot'])):
df.loc['bs'] = 0
elif (df.loc['Open'] < ((df.Loc['2_pips'] - 5) * df.loc['pivot']) + df.loc['pivot']) and (df.loc['Open'] > ((df.loc['1_pips'] + 10) * pivot) + df.loc['pivot']) and (df.loc['Open'] < df.loc['pivot']):
df.loc['Signal'] = -1
elif (df.loc['Open'] <= (df.loc['1_pips'] * df.loc['pivot']) + df.loc['pivot']) and (df.loc['Open'] > ((df.loc['1_pips'] - 10) * df.loc['pivot']) + df.loc['pivot']):
df.loc['Signal'] = -1
else:
df.loc['Signal'] = 0
谢谢!
解决方案
在第 4 行,df.loc[['Open']
我猜你有一个方括号太多了。
您还可以将该行简化为:
elif df.loc['Open'] > df.loc['IB'] and df.loc['pivot'] < df.loc['Open'] < df.loc['OB']:
一般来说,你有太多的括号。我猜这实际上是因为您试图找到问题所在。
通常,当您遇到编译器语法错误(如(未)预期的标记)时,您会遇到结构性问题。它正在解析它抱怨的行作为前一个语句的延续。不匹配的 ()、[] 或 {}。要找到它,可以减少出现错误的代码,并注意到它仍然因相同的错误而失败,这意味着实际错误实际上来自前一行。
推荐阅读
- python-3.x - 如何在python中循环时间序列数据集?
- r - 如何轻松生成 10 次方的列表?
- html - 为什么我的 SVG 的圆圈没有完全显示?
- c++ - “codecvt_utf8_utf16”和“codecvt_utf8”从UTF-8转换为UTF-16的区别
- java - 不能在java中一起打印字符串和布尔值
- package - Julia:如何更新到最新版本的包(即 Flux)
- deep-learning - Gan损失很小,判别器损失巨大?
- java - 使用自定义绑定适配器绑定可绘制资源
- c# - Net core web api - “Microsoft.AspNetCore.Authentication.JwtBearer”包出错
- html - 来自 Safari 的 CSS 奇怪的变换值