python 3.2 ifels

2024-06-08 12:10:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要python3.2if-else语句的帮助 代码是:

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后的冒号 如果删除冒号,我会收到指向word文件的语法错误。在

编辑: 这里有更多的代码

^{pr2}$

编辑2:我似乎在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()

别介意再加一个括号。真是漫长的一天


Tags: 代码formatlenifopendatfilewrite
3条回答

{cd1>你错过了最后一行:

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))

马拉松表达式中的这个特定表达式(math.pow(a[i][j],2)就在if语句之前,它看起来好像缺少了结束的)

也就是说

s[i][j] = (vinf*b[i][j])*(1-(math.pow(3,2)/(math.pow(a[i][j],2) + ...

应该是

^{pr2}$

尽管很难确定表达式的长度和所需的可能分组。在

为了避免不匹配的()、{}、[]、''、“”等错误,请使用代码编辑器,当您使用closer时,最好使用具有特定语言知识的代码编辑器来指示开头。Idle的编辑器为Python、Notepad++和其他几种不同语言的编辑器执行此操作。在

当您得到一个令人费解的语法错误,似乎是错误的(在指定的位置),以某种方式修改代码,看看指示器是否移动。在原始代码中,如果在if之前的一行中添加了任何,例如'1==1',则^会移到该行。那么你就会知道问题出在if语句之前。在

相关问题 更多 >