楼主: nanziSophia
3059 17

[编程问题求助] 循环语句嵌套条件语句,为何条件语句没有被执行呢? [推广有奖]

  • 3关注
  • 2粉丝

已卖:1份资源

硕士生

18%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.7609
学术水平
2 点
热心指数
1 点
信用等级
1 点
经验
1835 点
帖子
88
精华
0
在线时间
139 小时
注册时间
2015-11-2
最后登录
2019-1-28

楼主
nanziSophia 学生认证  发表于 2016-12-3 21:29:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
forvalues i=1/144{

        dis "第" `i' "次循环"
       
        if (relationship==1&sex==1)|(relationship==2&sex==1){
               
                dis "父亲的信息"
                local lfedu=bb
                local yfedu=cc
                       
        }

        else if (relationship==1&sex==2)|(relationship==2&sex==2){
               
                dis "母亲的信息"
                local lmedu=bb
                local ymedu=cc
                               
        }

        else if (relationship==3&sex==1)|(relationship==3&sex==2){
               
                dis "子代的信息"
                local ledu=bb
                local yedu=cc
                               
        }
               
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:循环语句 relationship relations forvalues relation

结果.PNG (5.28 KB)

结果.PNG

循环嵌套条件语句.PNG (23.98 KB)

循环嵌套条件语句.PNG

沙发
夏目贵志 发表于 2016-12-4 03:21:33
我觉得被你评论掉的那个部分反而是对的。试试那个。

藤椅
austen06 发表于 2016-12-4 04:04:42
像这样的对observation的looping能避免就避免。

板凳
nanziSophia 学生认证  发表于 2016-12-4 12:55:41
夏目贵志 发表于 2016-12-4 03:21
我觉得被你评论掉的那个部分反而是对的。试试那个。
被屏蔽掉的那些语句不正确,有语法错误

报纸
nanziSophia 学生认证  发表于 2016-12-4 12:56:25
austen06 发表于 2016-12-4 04:04
像这样的对observation的looping能避免就避免。
怎样对观察值进行循环呢?

地板
nanziSophia 学生认证  发表于 2016-12-4 12:58:28
今天调了一下,虽然执行了if语句,但为何只执行最后一条条件语句呢?

结果2.PNG (5.47 KB)

结果2.PNG

7
nanziSophia 学生认证  发表于 2016-12-4 12:59:08
夏目贵志 发表于 2016-12-4 03:21
我觉得被你评论掉的那个部分反而是对的。试试那个。
屏蔽掉的那部分代码是错误的

8
夏目贵志 发表于 2016-12-4 13:56:52
nanziSophia 发表于 2016-12-4 12:59
屏蔽掉的那部分代码是错误的
至少比你现在的这个更接近对的。
对变量的循环不指定观测值的话只会用第一个值。sort顺序变了值就会变。
  1. . sysuse auto
  2. (1978 Automobile Data)

  3. .
  4. . if price>10000 {
  5. .
  6. . di "bigger than 10000"
  7. .
  8. . }

  9. .
  10. . gsort -price

  11. .
  12. . if price>10000 {
  13. .
  14. . di "bigger than 10000"
  15. bigger than 10000
  16. .
  17. . }
复制代码

9
nanziSophia 学生认证  发表于 2016-12-4 16:31:59
夏目贵志 发表于 2016-12-4 13:56
至少比你现在的这个更接近对的。
对变量的循环不指定观测值的话只会用第一个值。sort顺序变了值就会变。
local lfedu=aa 这不是指定观测值了吗?
今天我把这个改为:local lfedu "aa" 来存放aa变量的值
我进行每一次循环时,如果条件满足的话,这个条件语句的内容应该是要执行的啊
可是我交换子代与父代的条件语句的位置,为何还是执行子代这段程序呢?

10
夏目贵志 发表于 2016-12-5 01:46:56
nanziSophia 发表于 2016-12-4 16:31
local lfedu=aa 这不是指定观测值了吗?
今天我把这个改为:local lfedu "aa" 来存放aa变量的值
我进行 ...
你先看一下help if和help ifcmd的区别。最好能说清楚你想对数据做什么,然后再来看用什么办法最好。数据也可以发一部分来,好用来测试你的程序。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-30 11:59