5、python之条件,循环语句
一、虾扯蛋
无论什么语言其实都离不开顺序,条件,循环这三种结构,包括中文。当我们和别人在描述这样一件事情:“明天是周六,如果明天天气好的话我就去和和朋友逛街,否则我就在家一直玩游戏”。这段话中,我们描述这件事情的时候就是一个
顺序描述,而出现如果。。。。否则。。。。。这种的就是条件,一直玩游戏是一个重复的工作表示循环做一件事情。当然,上面的中文的语法,那下面我们一起来看看python是如何来表示的,顺序的自然就不用多说了。
二、条件语句
在python中如果表示某段代码需要满足某些条件才能执行时的语法如下:
1 age = 60 2 if age >= 60: 3 print("你老了") 4 else: 5 print("你还年轻,可以继续浪")
使用关键字if....else来表示条件语句,我们看看下面的代码:
1 age = 60 2 if age >= 60: 3 print("你老了") 4 else: 5 print("你还年轻,可以继续浪") 6 print("你猜我会输出吗?")
问题来了,第6行的代码会输出吗?我们来看一个图,大家就应该清楚了。
在其它语言像C++,JAVA,C#等一般都是使用{}来表示if,else的作用区域,python中使用行缩进的方式来表示作用区域,这样会使得python的代码结构看起来清晰明了,这也符合了硅叔当初对python的定义。
有的时候,我们程序中可能需要更多的判断语句,比如说我们有这样的程序:
1 age = 12 2 if age >= 60: 3 print("你老了") 4 else: 5 if age < 20: 6 print("太年轻了,好好学习吧") 7 else: 8 print("你还年轻,可以继续浪") 9 print("你猜我会输出吗?")
程序运行如下:age=12,不满足if条件,执行else代码块,else代码块中判断age<12成立,打印“太年轻了,好好学习吧”,不执行else代码块,程序继续往下走,打印“你猜我会输出吗?”,程序运行结束。我们总结一下,这个程序其实
有3中情况:1、age>=60 2、20<=age<60 3、age<20。如果我们再对<20的进行细分,整个程序的结果看起来就不那么清晰,这显然不符合当初定义python的初心(虽然这样语法没毛病,但不建议这样干)。python有更好的语法去处
理这种情况。我们看下面的程序:
1 age = 4 2 if age >= 60: 3 print("你老了") 4 elif age < 20 and age>=10: 5 print("太年轻了,好好学习吧") 6 elif age<10: 7 print("你还是个孩子啊") 8 else: 9 print("你还年轻,可以继续浪") 10 print("你猜我会输出吗?")
我们使用if elif elif.......else来处理多种条件的场景,看,现在代码是不是清晰多了。
二、循环语句
python中定义循环主要用到关键字:while和for,先用while来玩一把:
1 count = 10 2 while count >= 0: 3 print("count的值为:%s" % count) 4 count = count - 1
上面程序的功能是:只要count满足count >= 0就打印出count的值,while中的循环一共被执行了11次,对于循环语句而言,随着程序的运行必须存在一个条件来终止循环,上面的代码我们还可以利用关键字break来终止循环。修改如下:
1 count = 10 2 while True: 3 print("count的值为:%s" % count) 4 count = count - 1 5 if count < 0: 6 break
while True:这个条件永真,程序要想终止就必须在循环体内进行终止,因此我们用到了break来终止循环。
针对上面的代码,思考这样一个需求,如果while中的条件不满足,则执行print("循环结束")。程序代码如下:
1 count = 10 2 while count >= 0: 3 print("count的值为:%s" % count) 4 count = count - 1 5 else: 6 print("循环结束")
这是python固有的语法格式,记住它吧!
OK,我们现在把上面代码改成for循环的形式,代码分别如下:
1 for count in range(0,11): #顾头不顾尾 range(1,11)表示count取[1,10] 2 print("count的值为:%s" % count) 3 count = count - 1 #这里有坑,请思考 4 else: 5 print("循环结束")
学习了循环语句,我们现在使用for循环来遍历我们之前学过的基本数据类型。
1、列表的遍历:
1 list = [1,2,3,4,"434","12"] 2 for i in list: 3 print(i)
2、元组的遍历
tuple = ("上海","北京","扬州") for city in tuple: print(city)
3、集合的遍历
1 set = set([1,2,3,4,5]) 2 for i in set: 3 print(i)
4、字典的遍历
1 dic = {1:"高文祥",2:"helen",3:"C罗"} 2 for key in dic: 3 print(key,dic[key],dic.get(key))