我正在制作MEL表达,但我相信这种语言有点无关紧要。这个问题更像是一个编码逻辑问题。通常我会在javascript(我更熟悉)中做这样的事情,然后翻译它,但我有点坚持使用什么方法,即if else,循环,开关等?
以下是我想要实现的一个示例(我使用的是通用语法,因此语言无关紧要):
变量myA是用户输入数字变量。
变量myB是一个数字变量,它将根据var myA的输入以下列方式进行调整。
deleteOnClose
基本上评论部分是我被困的地方。我想设置一个在 myA 大于45后运行的开关,然后从那时开始,当var myA 时切换 my_bool 上升了90个单位。 45 + 90 = 135,因此当135 myA 等于225, my_bool 将无限期地切换为false时,它将切换为true和90个单位。我不知道我是否应该使用if else,某种循环,或者是否有适合这种情况的东西。
答案 0 :(得分:1)
这可以解决您的问题:
function my_bool(myA){
var
doNothing = myA <= 44,
step = parseInt((myA - 45)/90)%2,
myA = step == 1;
return doNothing ? "nothing" : myA;
}
它返回“什么都不做”,真实,错误。
答案 1 :(得分:0)
我尝试了以下算法来满足您的需求我将在代码后解释它们:
my_a = input()
my_b = 0
my_bool = True
if my_a > 45:
for num in range(0,400):
if (num + 45) % 90 == 0 and not num==45:
if my_bool == True:
my_bool = False
else:
my_bool = True
print 'My bool as switched to %s ' % my_bool
else:
print num
else:
my_b -= 1
我在这里使用过python,它的作用是: 如果my_a变量上的用户输入大于45,那么如果数字(加上前45)可被90整除而不是45本身,则它会在0到400的范围内进行检查(因为我们不想切换布尔值)在45岁,对吗?)。如果它可以被整除,那么检查布尔值是否实际为True或False,并且基于它切换它。并打印结果。
如果上述情况均未发生,则只会在for循环中打印当前数字。
如果my_a输入小于45,则my_b获得-1值。
希望它有所帮助!
答案 2 :(得分:-1)
的内容
while True:
if ((myA-45)/90).is_integer():
my_bool = not my_bool
myA += 1