Django的Python的if语句没有产生预期的结果
问题描述:
下面的代码,如果在python控制台运行它能正常工作,并能得到预期的结果:Django的Python的if语句没有产生预期的结果
c2 = 1
stepCount = 4
workStepNo = 4
exeQueNum = 5
if c2 == 1:
if stepCount == workStepNo:
if exeQueNum == 5:
actionChoice1 =3
else:
actionChoice1 = 2
else:
stepCount= int(stepCount)+1
actionChoice1 = 1
else:
actionChoice1 = 0
print "actionChoice1", actionChoice1
能得到上actionChoice1 Python的控制台上打印出来正确的是3.
但是,当在Django中使用相同的代码时,它将actionChoice生成为2而不是3。
if c2 == 1:
if stepCount == workStepNo:
if exeQueNum == 5:
actionChoice =3
else:
actionChoice = 2
else:
stepCount= int(stepCount)+1
actionChoice = 1
else:
actionChoice = 0
请帮助查明可能导致此问题的错误。 什么其他替代可以用来获得期望的结果在Django的Python
答
if exeQueNum == 5:
actionChoice =3
else:
actionChoice = 2
actionChoice
是2时exeQueNum
不是5,请检查您是如何检索/生产的exeQueNum
Django上的价值。它不等于5
更新:
由于OP提到,该值是unicode
是字符串。但它需要是整数才能与另一个整数(在这种情况下为5)进行比较。
所以做到这一点:
exeQueNum = int(exeQueNum)
if exeQueNum == 5:
actionChoice =3
else:
actionChoice = 2
或者你也可以做if int(exeQueNum) == 5
如果你不想改变变量的类型。
exeQueNum是unicode类型的。值为5. – FelixPhillip
Unicode是字符串。你正在比较一个整数。所以你必须把它转换成一个整数。让我更新我的答案。 – masnun