• 热门专题

python学习笔记2 判断语句

作者:longerzone的专栏  发布日期:2013-12-09 22:10:09
Tag标签:python  学习笔记  判断  

  • 这一节我们将介绍python下的判断语句:if、while以及for三个循环,再加上break和continue两个关于循环控制的语句。如果有一定的编程基础对于本文的学习就只需要知道这几种循环语句在python下是如何使用的即可,如果是没有编程基础的童鞋,建议大家把下面的小例子敲到电脑中运行一下感受一下!(还是不要用拷贝的吧,手动输入电脑)

    1.if 语句

    if循环是各种语言中都有的判断语句,逻辑也很简单,if + 判断逻辑 --> 做A 如果满足这个逻辑做工作A ,else 做B 如果不满足那么做工作B。python下的if控制语法如下:

    if condition:                # if 接着判断语句 后加冒号,这是if 的用法
    	do something    #  python 的冒号后面都要缩进,python是一种靠缩进来判断逻辑的语言!所以缩进尤为重要,如果缺失缩进程序运行会报错!
    elif condition2:	        # else if 语句在python下的语法!当然,这是可选的!
    	do something
    else:				# else语句也是可选的
    	do something

    注:本节介绍的集中判断语句中缩进和冒号尤为重要!大家要在使用中熟悉python中的缩进和冒号!


    2.while 语句

    相比其他语言,Python下的while循环除了需要添加冒号外还多了个可选的else 语句!这是大家经常会忽视的一点!

    while condition:          # while 语法就是这么简洁,while + 判断条件,如果满足这个判断条件则不断循环,直到不满足条件跳出循环。当然,也可以结合下面的 break 语句跳出循环。
    	do something
    else:				# python下的 while 添加了个可选的 else 语句
    	do something

    注: 对于while 你需要注意:

    (1)尽量少用 while-loop,大部分时候foor-loop是个更好的选择

    (2)重复检查你的while语句,确定测试的布尔表达式最终会变成False!

    (3)如果不确定,就在while-loop的结尾打印出你要测试的值,观察他的变化!


    3.for 语句

    与 while 一样,Python的for循环也是添加了个可选的else语句:

    for i in range(1,5):	#  range(1,5)给出序列[1, 2, 3, 4]。默认地,range的步长为1。(所以 for i in range(1,5)等价于for i in [1, 2, 3, 4])如果我们为range提供第三个数,那么它将成为步长。例如,range(1,5,2)给出[1,3]。记住,range 向上 延伸到第二个数,即它不包含第二个数。
    	do something
    else:				# 可选,如果包含else,它总是在for循环结束后执行一次,除非遇到break语句。
    	do something


    4.break 语句

    与其他语言类似, break语句是用来 终止 循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句。
    注:如果你从for或while循环中 终止 ,任何对应的循环else块将不执行。


    5.continue 语句

    continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环。

    6.一个简单的小例子

    使用" vim mygame.py "打开vim编辑器,然后输入下面的内容!

    # -*- coding: utf-8 -*-	
    # 呵呵,为什么加这一句?在本系列前篇中我已经提到,如果有种文字符在程序中,程序将无法运行。而我的注释都是中文的所以需要添加这一句,如果你想看看没有这句是什么样的,just try it!
    # 这个例子是我根据《Learn Python The Hard Way》的例子31改的,中间有本节的for if while等语句,希望大家好好学习!
    print "You enter a dark room with two doors. Do you go through door #1 or door #2?"
    door = raw_input("> ")    # 本脚本一开始运行就会打印上句信息,会提示有两个们,请你输入1 或者2,本句的raw_input用于接收输入的参数,并赋值给door ,下面对door进行判断
    
    if door == "1":				# 使用if语句,如果door == 1 ,那么做下面的这些~
    	print "There's a giant bear here eating a cheese cake.What do you do?"
    	print "1. Take the cake."
    	print "2. Scream at the bear."
    
    	bear = raw_input("> ")	# 有两个操作,请你选择1还是2
    	if bear == "1":
    		print "The bear eats your face off. Good job!"
    	elif bear == "2":
    		print "The bear eats your legs off. Good job!"
    	else:
    		print "Well, doing %s is probably better. Bear runs away." % bear
    
    elif door == "2":			# 通过elif 语句对door不等于1再次判断!
    	print "You stare into the endless abyss at Cthuhlu's retina."
    	print "1. Blueberries."
    	print "2. Yellow jacket clothespins."
    	print "3. Understanding revolvers yelling melodies."
    	
    	live = 3
    	insanity = raw_input("> ")
    	if insanity == "1" or insanity == "2":
    		print "Your body survives powered by a mind of jello. Good job!"
    	else:
    		while live > 0 :	# 使用while对live进行判断
    			print "You have %d seconds to live " % live
    			live -= 1 
    		print "You got missed and killed yourself ,Good Job"
    
    else:
    	print "You stumble around and fall on a knife and die."
    	for i in range(1,4):		# 如上面讲到的range()函数,此处i会在三个循环中遍历1,2,3然后跳出循环!
    		print "You ask for help %d times" % i
    	print "Without help ,you die from not choice correct door,Good Job"
    保存并退出后使用 “python mygame.py” 运行它! 好好感受一下这个小程序!

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规