有关if语句的嵌套问题,请大佬们指点迷津,万分感谢
本程序中开始的 if(s>=3000) c=12;这个条件如果成立,就真接执行f=p*w*s*(1-d/100);?那么这个d的变量只在上面的嵌套里出现过,程序会回过头去找的吗?或着说if() else 是怎样的一个运行步骤呀?谢谢
不知大家能理解我的问题了吗?
ifa==1:
sum=0
else:
sum = 1
执行的就是先判断if后面的条件是否成立,如果成立就执行if后面的语句,如果不成立就执行else后面的语句。 if语句,在没有加大括号的情况下,默认控制其后的一个语句,否则控制大括号中的内容,else同理,这里if(s>=3000) c=12;c=12就是if在条件满足的时候执行的语句了,如果条件不满足,会执行后面的else 语句,也就是 c=s/250;然后整个if else 判断语句就结束了。后面的switch选择语句是独立的,不受上面的if控制的
beijudezixuan 发表于 2018-11-8 18:06
if语句,在没有加大括号的情况下,默认控制其后的一个语句,否则控制大括号中的内容,else同理,这里if(s> ...
谢谢哈,你说的那些我是理解的,现在就是if(s>=3000) c=12;条件成立,然后c=12,这个语句结束后在这个程序里再接着执行哪个?是接着执行switch结束后的语句,也就是f=p*w*s*(1-d/100);这个语问吗?如果是,那这个语句里的变量d只在switch里出现过,所以这个程序的执行顺序有点糊涂呢 rockilybn 发表于 2018-11-8 19:43
谢谢哈,你说的那些我是理解的,现在就是if(s>=3000) c=12;条件成立,然后c=12,这个语句结束后在这个 ...
会执行switch哟,如果switch中每个case 都有break的话,那么会根据 c的值选择只执行对应的case后面的语句,然后退出switch 执行 f=p*w*s*(1-d/100); 比如 c=3那么会执行 case 3: d=5;break;然后就退出了switch
执行 f=p*w*s*(1-d/100); beijudezixuan 发表于 2018-11-8 19:57
会执行switch哟,如果switch中每个case 都有break的话,那么会根据 c的值选择只执行对应的case后面的语句 ...
谢谢谢谢,明白了{:5_106:}
页:
[1]