嵌套层逻辑

时间:2019-05-17 16:50:48

标签: logic pseudocode

我必须编写问题的逻辑并将其用于登录页面。我无法写。

1-IT 1

2-IT 1

3-IT 1

4-IT 2

5-IT 2

6-IT 2

7-IT 2

8-IT 3

9-IT 4

问题陈述: -直到有人选择1或2或3,才建议IT 1
-当某人选择4或5或6或7以及任何值为3或以下的东西时,建议使用IT 2
-当某人选择8或8或8以下的任何东西时,则建议IT 3
-当某人选择9且值小于9的任何东西时,则建议IT 4。

我正在使用if条件,但似乎只要IT2满足,IT3也就满足。如何编写逻辑?

1 个答案:

答案 0 :(得分:0)

https://jsfiddle.net/bhanusingh/7fxet35h/9/

不要嵌套您的ifs。只需在问题描述中输入四个if即可,并创建一个辅助函数以使其更易于阅读。

下面是一个伪代码,其中数字表示对复选框的引用。 isAnySelected是一个辅助函数,该函数获取复选框引用列表,如果选中其中任何一个复选框,则返回true。

if (isAnySelected([1,2,3]) )
   return IT1
if (isAnySelected([4,5,6,7]) AND isAnySelected([1,2,3]) )
  return IT2
if (isAnySelected([8]) AND NOT isAnySelected([9])) 
   return IT3
if (isAnySelected([9]) AND isAnySelected([1,2,3,4,5,6,7,8]))
  return IT4

请注意,我在#3中添加了“ not 9”规则,以便选择的8和9产生IT4

在Reddit上解决:https://www.reddit.com/r/learnprogramming/comments/bpukvf/i_got_a_very_complex_problem_for_me_i_can_only/enxst62?utm_source=share&utm_medium=web2x