コードは次のとおりです。
if gam < 1:
file = open("data1.dat","w")
gam = gam2
elif gam == 1:
file = open("data2.dat","w")
gam = gam3
elif gam > 1:
file = open("data3.dat","w")
実行すると、コロンを指す構文エラーが表示されます if gam < 1 コロンを削除すると、単語ファイルを指す構文エラーが表示されます。
編集:ここにコードの詳細があります
for o in range (3):
for i in range (0,len(x)):
for j in range (0,len(y)):
a[i][j]=x[i]
b[i][j]=y[j]
for i in range (0,len(x)):
for j in range (0,len(y)):
u[i][j] = (vinf*a[i][j]*b[i][j]*(4*math.pi*math.pow(3,2)+gamma*(math.pow(a[i][j],2)+math.pow(b[i][j],2))))/(2*math.pi*math.pow(math.pow(a[i][j],2)+math.pow(b[i][j],2),2))
v[i][j] = (1/2)*vinf*((math.pow(b[i][j],2)*(4*math.pi*math.pow(3,2)+b[i][j]*(math.pow(a[i][j],2)+math.pow(b[i][j],2))))/(math.pi*math.pow(math.pow(a[i][j],2)+math.pow(b[i][j],2),2))-(2*math.pow(3,2))/(math.pow(a[i][j],2)+math.pow(b[i][j],2))+(gamma*math.log1p(math.sqrt(math.pow(a[i][j],2)+math.pow(b[i][j],2))/3))/math.pi+2)
p[i][j] = 1-(math.pow(u[i][j],2)+math.pow(v[i][j],2))
s[i][j] = (vinf*b[i][j])*(1-(math.pow(3,2)/(math.pow(a[i][j],2)+math.pow(b[i][j],2)))+(gamma/(2*math.pi))*math.log1p(math.sqrt(math.pow(a[i][j],2)+math.pow(b[i][j],2))/3)
if gam < 1:
file = open("data1.dat","w")
gam = gam2
elif gam == 1:
file = open("data2.dat","w")
gam = gam3
elif gam > 1:
file = open("data3.dat","w")
edit2: s 行に括弧がないように見えましたが、ファイルを閉じるときにエラーが発生するようになりました
if gam < 1:
file = open("data1.dat","w")
gam = gam2
elif gam == 1:
file = open("data2.dat","w")
gam = gam3
elif gam > 1:
file = open("data3.dat","w")
file.write('title = "Driven Cavity"\r\n')
file.write('variables = "x", "y", "u", "v", "p", "s"\r\n')
file.write('ZONE T="All"\r\n')
file.write(' I={}'.format(len(x)))
file.write(' J={}'.format(len(x)))
file.write(' K=1')
file.write(' ZONETYPE=Ordered\r\n')
file.write(' DATAPACKING=POINT\r\n')
for i in range (0,len(x)):
for j in range (0,len(y)):
file.write('{}\t'.format(a[i][j]))
file.write('{}\t'.format(b[i][j]))
file.write('{}\t'.format(u[i][j]))
file.write('{}\t'.format(v[i][j]))
file.write('{}\t'.format(p[i][j]))
file.write('{}\t\n'.format(s[i][j])
file.close()
別の括弧を気にしないでください。長い一日だった