Python中出现错误:无法分配给运算符错误



试图对赋值进行编码,但我收到一个错误,说不能赋值给运算符。这是代码:

x5=0.3;x6=0.8;x7=1
x8=(x5+x6)/2;x9=(x6+x7)/2
if fx(x6,a)>fx(x5,a) and fx(x6,a)>fx(x7,a):
x5=x8 and x7=x9

您不能像在行中那样使用and分隔两个表达式:

x5=x8 and x7=x9

您必须修改您的代码:

x5 = 0.3; x6 = 0.8; x7=1
x8 = (x5+x6) /2 ; x9 = (x6 + x7) / 2
if fx(x6,a) > fx(x5,a) and fx(x6,a) > fx(x7,a):
x5 = x8
x7 = x9

and是Python中的一个保留关键字,对应于对两个变量进行固定的操作。也就是说,and是一个有结果的运算,并不意味着"既做这个也做这个"。

要修复您的代码,只需将其更改为:

x5=0.3
x6=0.8
x7=1
x8=(x5+x6)/2
x9=(x6+x7)/2
if fx(x6,a)>fx(x5,a) and fx(x6,a)>fx(x7,a):
x5=x8
x7=x9

这个结构翻译成英语大致可以说">如果fx(x6,a(大于fx(x5,a;f7(x7,a(然后x5=x8,x7=x9;

最新更新