if-elif-else,while,for语句介绍

#  if语句的控制转移

#  在nature语言中,True和False是关键字,分别代表真和假


#例程1:if语句

a = True

if a      #意思是如果a是True,执行{}内的函数体

{

   print("%\n","It is True")

}

a = False

if a  #意思是如果a是True,执行{}内的函数体

{

   print("%\n","It is True")

}

#  显然,该例a不为True,所以不会执行{}内的函数体

#例程2:if语句

a = 10

if a      #意思是如果a是True,执行{}内的函数体

{

   print("%\n","It is True")

}

#  凡是不等于0的数,都被定义为True(真),因此上述{}函数体得以执行

a = 0

if a  #意思是如果a是True,执行{}内的函数体

{

   print("%\n","It is True")

}

#  只有等于0的数字,被定义为False(假),因此上述{}函数体不会被执行

a = 0

if a   #如果a是True,执行下面{}内的函数体

{

   print("%\n","It is True")

}

else   #除了a是True以外的情况,执行下面{}内的函数体

{

   print("%\n","It is False")

}

#  本例中会输出:"It is False"。

#  因为a = 0(即,a为假),不满足第一个条件,所以不会执行第一个函数体

#  else的意思是#除了a是True以外的情况,执行下面{}内的函数体

#  因此,会执行print("%\n","It is False")语句,输出:"It is False"


#例程3:if语句

a = "Hellow"

if a      #不为空的字符串被翻译成True,执行{}内的函数体

{

   print("%\n",a)

}

#  凡是不等于0的数,不为空的字符串,都被定义为True(真),

#  因此上述{}函数体得以执行

a = ""

if a   #字符串a为空,会被翻译成False,因此下面函数体不会被执行

{

   print("%\n","It is True")

}

#  只有等于0的数字、或空字符串,被定义为False(假),因此上述{}函数体不会被执行


#例程4:if语句

a = [1,2,3,4]

if a      #不为空的列表被翻译成True,执行{}内的函数体

{

   print("%\n",a)

}

b = {"a":1,"b":2,"c":3}

if b      #不为空的字典被翻译成True,执行{}内的函数体

{

   print("%\n",b)

}

#  凡是不等于0的数,不为空的字符串、列表、字典,都被定义为True(真),

#  为0的数字、为空的字符串、列表、字典,都被翻译成False(假)

b = {}

if b      #b为空字典,被翻译成了False,因此{}内的函数体不被执行

{

   print("%\n",b)

}


#例程5:if语句

if 3>2   #3>2是成立的,3>2这个表达式会被翻译成True,函数体将被执行

{

   print("%\n","It is True!")

}

if 3>5   #3>5是不成立的,3>5表达式会被翻译成False,函数体将不被执行

{

   print("%\n","It is True!")

}

a = "abc"

b = "ab"

c = a>b   #字符串比较,如果a>b成立,c被赋值True,否则被赋值False

if c   # a>b成立,函数体将被执行

{

   print("%\n","It is True!")

}

c = "abc" > "ab"   #如果a>b成立,c被赋值True,否则被赋值False

if c   # a>b成立,函数体将被执行

{

   print("%\n","It is True!")

}

if "abc" > "ab"   # a>b成立,函数体将被执行

{

   print("%\n","It is True!")

}

#  上述三个例子中,只是写法不同,效果是同样的


#例程6:if  elif   else

a = 5  #改变a的值,看看程序运行的不同结果

if a>5 

{

   print("%\n","a>5")

}

elif a == 5

{

   print("%\n","a = 5")

}

else

{

   print("%\n","a < 5")

}

a = 2  #改变a的值,看看程序运行的不同结果

if a>5 

{

   print("%\n","a > 5")

}

elif a == 5

{

   print("%\n","a = 5")

}

elif a < 5     #这里没有用到else,但是运行结果相同

{

   print("%\n","a < 5")

}

#  在一个if语句里面,第一个必须是if,不能是elif

#  中间可以出现多个elif语句,处理不同情况

#  最后可以用else,执行不满足上述所有条件的情况

#  也可以没有else,意味着不满足上述条件的情况,将被忽略。


#例程6:while循环

a = 1

while a <= 10

{

   print("a = %\n",a)

   a = a + 1

}

#  当while后面的表达式 a <= 10 成立时,该比较表达式被翻译为True,

#  函数体得以执行;当表达式不成立时,自动跳出循环体。


#例程7:while循环

a = 10

while a  #当a不等于0时执行循环体,当a等于0时,退出循环体

{

   print("a = %\n",a)

   a = a - 1

}

#  当while后面的表达式 a不为0时,该比较表达式被翻译为True,

#  函数体得以执行;当a = 0时,自动跳出循环体。


#例程8:while循环

a = 10

while a  #当a不等于0时执行循环体,当a等于0时,退出循环体

{

   if a>5

   {

      a = a - 1  #这里直接返回到循环起点,后面的同样语句得不到执行

      continue #a>5时,continue指令强迫程序返回循环起点,忽略后面程序

   }

    elif a == 2

   {

       break  #当a=2时,break指令强迫程序中途退出循环

    }

    else  # 既不满足a>5又不满足a=2时,打印a值

    { 

       print("a = %\n",a)

    }  

    a = a - 1  #控制循环的变量

}

#  可是使用多个continue、break来控制循环走向


#例程9:for循环(遍历列表)

list = [1,2,3,4,5]

for i in list   

{

   print("%\n",i)  #i取值分别为列表的每一项,遍历列表

}

for i in [1,2,3,4,5]   #也可以直接使用列表,效果是一样的

{

   print("%\n",i)  #i取值分别为列表的每一项,遍历列表

}


#例程10:for循环(遍历列表)

list = [1,2,3,4,5]

for i in list   

{

   print("%\n",i)

   if i==3

   {

      break  #在for循环中,遇到i=3时,将退出循环

   }

}


#例程11:for循环(遍历列表)

list = [8,2,3,1,5]

for i in list   

{

   if i<3

   {

     continue  #满足条件i<3时,for循环跳转到循环起点,后面不被执行

   }

   print("%\n",i)  #不满足i<3的条件时,打印i值

}

#  本例中不小于3的项:8、3、5将被打印,小于3的项:1、2将被跳过


#例程12:for循环(遍历列表)

for i in range(0,10,1)  #range(0,10,1)将返回一个列表[0,1,…9]

{

   print("%\n",i)  

}

#  range(start,end,step)是一个内置函数,产生一个

#  [start,start+step,start+2*step,…]列表,step是成员间隔


#例程13:for循环(遍历字典)

d = {"a":1,"world":"世界","c":3,"Hellow":"你好"}

for k in d.keys()  #遍历字典的key值

{

   print("%\n",k)  

}

#  d.keys()将返回一个由字典key值组成的列表,然后for循环遍历整个列表


#例程14:for循环(遍历字典)

d = {"a":1,"world":"世界","c":3,"Hellow":"你好"}

for v in d.values()  #遍历字典的value值

{

   print("%\n",v)  

}

#  d.values()将返回一个由字典的value组成的列表,for循环遍历整个列表


#例程15:for循环(遍历字典)

d = {"a":1,"world":"世界","c":3,"Hellow":"你好"}

for k,v in d.items()  #遍历字典的value值

{

   print("%      %\n",k,v)  

}

#  d.items()将返回一个由字典的value组成的列表,for循环遍历整个列表


#例程16:while和for循环选择

#  while和for都可以执行循环操作,那么,两者之间又有什么区别呢?

#  for循环需要先建立一个列表,然后,遍历列表实现循环,看起来比较直观,不

#  需要在循环体内设置循环控制变量,因此,在循环次数不是很大时,常常使用;

#  但是,当循环次数很大时,必然需要创建一个很大的列表,这样不仅占用大量

#  的内存,还影响执行效率,这种情况下,建议使用while循环。

for i in range(0,200,1)  

{

   print("%n",i)  

}

#  当循环次数不是太大时,使用for或者while区别不大,看你喜欢。

i = 20000

while  i

{

   print("%n",i) 

   i = i - 1 

}

#  当循环次数巨大时,显然,使用while更合适,占用内存少,效率高。


0