if and + or 的应用。

ningyong58 2011-05-05 01:41:39
数据源
x , y
325 , 2
325 , 4
426 , 2
400 , 4
500 , 2
500 , 4
600 , 2
600 , 4
........................
.......................
1700 , 4
1700 , 6
1800 , 4
1800 , 6

-----------------------------
采用
If (y = 2 And x > 400) Or (y = 4 And x > 400) Then
其结果不是目标需求
-------------------------------
x , y
500 , 2
600 , 2
700 , 2
800 , 2
900 , 2
1000 , 2
1100 , 2
1200 , 2
1300 , 4
1400 , 4
1500 , 4
1600 , 4
1700 , 4
1800 , 4
-----------------------------
目标需求是当x>400时,满足y=2和4的条件。
请问如何处理,谢谢。

...全文
240 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
啊的发哦 2011-05-05
  • 打赏
  • 举报
回复
如果都要输出的话,需要动态调整数组大小了,输出就移除
啊的发哦 2011-05-05
  • 打赏
  • 举报
回复
目标需求是当x>400时,满足y=2和4的条件

这个的确是楼主误导了大家

思路

当 X>400 AND Y=2 OR X>400 AND Y=4 时
R=得到当前这组值
对 > 当前序列 < 最后序列 的数 K 进行逐次判断
R(X)=K(X)时,判断Y
结束单次循环
结束总循环
东方之珠 2011-05-05
  • 打赏
  • 举报
回复
if X>400 then
if y=2 or y=4 then
''''''''''''''''''
endif
endif
杀神者 2011-05-05
  • 打赏
  • 举报
回复
if y=2 then
if x>400 then
、、、、、、
end if
end if
if y=4 then
if x>400 then
、、、、、、
end if
end if
不知道这样行吗
LIXIYO 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ningyong58 的回复:]
谢谢回复
测试了各位的方法,其结果仍然是
x , y
500 , 2
600 , 2
700 , 2
800 , 2
900 , 2
1000 , 2
1100 , 2
1200 , 2
1300 , 4
1400 , 4
1500 , 4
1600 , 4
1700 , 4
1800 , 4


-------------------------
if y……
[/Quote]
当你的y=2时,就有x=400啊,这是符合的
你不想要x=400,所以你还有另外一个条件是x>400啊
dbcontrols 2011-05-05
  • 打赏
  • 举报
回复
因为你的要求跟你的描述不一致
你到底要什么样的逻辑应该自己很清楚才行
本来都是最基本的东西

[Quote=引用 7 楼 ningyong58 的回复:]
谢谢回复
测试了各位的方法,其结果仍然是
x , y
500 , 2
600 , 2
700 , 2
800 , 2
900 , 2
1000 , 2
1100 , 2
1200 , 2
1300 , 4
1400 , 4
1500 , 4
1600 , 4
1700 , 4
1800 , 4


-------------------------
if y……
[/Quote]
ningyong58 2011-05-05
  • 打赏
  • 举报
回复
谢谢回复
测试了各位的方法,其结果仍然是
x , y
500 , 2
600 , 2
700 , 2
800 , 2
900 , 2
1000 , 2
1100 , 2
1200 , 2
1300 , 4
1400 , 4
1500 , 4
1600 , 4
1700 , 4
1800 , 4


-------------------------
if y = 2 or y = 4 then
其结果为→包含了400
400, 4
500, 2
500, 4
600, 2
600, 4
700, 2
1100, 4
1200, 2
1200, 4
dianyancao 2011-05-05
  • 打赏
  • 举报
回复
想要事与愿违的话用VB做吧
dbcontrols 2011-05-05
  • 打赏
  • 举报
回复
这是不熟悉运算符号的优先级,熟悉了就不需要了
[Quote=引用 3 楼 lixiyo 的回复:]
if (x>400) and ((y=4) or (y=2)) then
个人经验。凡是像这样的有多个条件的,比较,条件语句,每个条件,都加括号括起来。
这样虽然稍微麻烦,但是可以提高程序的可读性。便于日后维护。
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lixiyo 的回复:]
if (x>400) and ((y=4) or (y=2)) then
个人经验。凡是像这样的有多个条件的,比较,条件语句,每个条件,都加括号括起来。
这样虽然稍微麻烦,但是可以提高程序的可读性。便于日后维护。
[/Quote]++++
LIXIYO 2011-05-05
  • 打赏
  • 举报
回复
if (x>400) and ((y=4) or (y=2)) then
个人经验。凡是像这样的有多个条件的,比较,条件语句,每个条件,都加括号括起来。
这样虽然稍微麻烦,但是可以提高程序的可读性。便于日后维护。
  • 打赏
  • 举报
回复
if x > 400 and (y = 2 or y = 4) then
dbcontrols 2011-05-05
  • 打赏
  • 举报
回复
if x>400 and y=2 or X>400 and y=4 then

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧