所以我运行的是Python2.7,我一直在尝试让这段代码用输入(cha)显示相应的数字(chamod),但它一直返回0。如何得到相应的输出?应该是打印出来的。你知道吗
def charismamod(cha):
chamod = 0
if cha == 1:
chamod = -5
elif cha == 2 | cha == 3:
chamod = -4
elif cha == 4 | cha == 5:
chamod = -3
elif cha == 6 | cha == 7:
chamod = -2
elif cha == 8 | cha == 9:
chamod = -1
elif cha == 10 | cha == 11:
chamod = 0
elif cha == 12 | cha == 13:
chamod = 1
elif cha == 14 | cha == 15:
chamod = 2
elif cha == 16 | cha == 17:
chamod = 3
elif cha == 18 | cha == 19:
chamod = 4
elif cha == 20:
chamod = 5
return chamod
def barbarian():
cha = 14
bchamod = charismamod(cha)
print bchamod
barbarian()
必须使用
or
而不是|
:|
是位运算符。必须使用or
或||
。你知道吗BitwiseOperators
使用
or
。你知道吗你所做的是“按位或”,它的工作方式与你想做的不同。 您可以在这里快速阅读摘要:http://www.tutorialspoint.com/python/bitwise_operators_example.htm
正如其他人已经提到的,您应该使用
or
而不是|
。然而,你真正应该做的是使用一本合适的词典,而不是:这使它更容易阅读和改变未来。你知道吗
你也可以玩数学:
它为您提供了最简洁、最易于理解的函数(具有一点不同的功能,因为它对
1, ..., 20
集之外的任何对象都有不同的工作方式)。你知道吗相关问题 更多 >
编程相关推荐