日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python-if語句

 浸心閣 2015-03-28

條件語句


1)      if 語句


例子:


# 執(zhí)行if語句內(nèi)的程序


a = input("a:")


b = input("b:")


if(a > b):


print a, " > ", b


Note:如果是在pydeveclipse下,運行然后輸入數(shù)字,打個回車就會出現(xiàn)“SyntaxErrorunexpected EOF while parsing”,所以只能用raw_input來代替。原因是回車,編譯器都多讀一個/r,一般按回車后,shells 會輸入“/n”,但因為Eclipse控制臺輸入的是“/r/n”,python就不能很好的識別,可以說這是Python的一個bug。


 


# 跳過if語句


a = input("a:")


b = input("b:")


if(a > b):


    print a, " > ", b


print a, " < ", b


 


# if else語句


a = input("a:")


b = input("b:")


if(a > b):


    print a, " > ", b


else:


print a, " < ", b


Noteinput()he raw_input. Raw_input( )捕獲用戶的原始輸入,raw_input()函數(shù)的聲明如下所示:


Raw_input([prompt])->string,參數(shù)prompt是控制臺輸出的提示文字,提示用戶輸入。返回值為字符串。如果輸入的是數(shù)字,返回的還是字符串。


Input( )支持用戶輸入數(shù)字或表達式,不支持輸入字符串。Input( )函數(shù)的聲明如下所示:


Input([prompt])->value。


2)      if…elif…else語句


例子:


# if elif else語句


score = raw_input("score:")


score=int(score)


if(score >= 90) and (score <= 100):


    print "A"


elif(score >= 80) and (score < 90):


    print "B"


elif(score >= 60) and (score < 80):


    print "C"


else:


    print "D"


3)      if語句的嵌套


編寫條件語句時,應(yīng)該盡量避免使用嵌套語句。嵌套語句不便于閱讀,而且可能會忽略一些可能性。


例子:


x = -1


y = 99


if(x >= 0):


    if(x > 0):          #嵌套的if語句


        y = 1


    else:


        y = 0


else:


    y = -1


print "y =", y


輸出為y=-1


4)      實現(xiàn)switch語句的功能


Python并沒有提供switch語句,Python可以通過字典實現(xiàn)switch語句的功能。


實現(xiàn)方法分兩步。首先,定義一個字典。字典是由鍵值對組成的集合。其次,調(diào)用字典的get()獲取相應(yīng)的表達式。


例子:


from __future__ import division


x = 1


y = 2


operator = "/"


result = {


    "+" : x + y,


    "-" : x - y,


    "*" : x * y,


    "/" : x / y


}


print result.get(operator)          


輸出為0.5


另一種使用switch分支語句的方案是創(chuàng)建一個switch類,處理程序的流程。


a)         創(chuàng)建一個switch類,該類繼承自Python的祖先類object。調(diào)用構(gòu)造函數(shù)init( )初始化需要匹配的字符串,并需要定義兩個成員變量valuefallValue用于存放需要匹配的字符串,fall用于記錄是否匹配成功,初始值為false,標(biāo)識匹配不成功。如果匹配成功,程序往后執(zhí)行。


b)        定義一個match( )方法,該方法用于用于匹配case子句。這里需要考慮三種情況:首先是匹配成功的情況,其次是匹配失敗的默認case子句,最后是case子句中沒有使用break中斷的情況。


c)         重寫__iter__( )方法,定義該方法后才能使switch類用于循環(huán)語句中。__iter__( )調(diào)用match( )方法進行匹配。通過yield保留字,使函數(shù)可以在循環(huán)中迭代。此外,調(diào)用StopIteration異常中斷循環(huán)。


d)        編寫調(diào)用代碼,在for…in…循環(huán)中使用switch類。


例子:


#!/usr/bin/python


# -*- coding: UTF-8 -*-


 


class switch(object):


    def __init__(self, value):      # 初始化需要匹配的值value


        self.value = value


        self.fall = False           # 如果匹配到的case語句中沒有break,則falltrue。


 


    def __iter__(self):


        yield self.match            # 調(diào)用match方法 返回一個生成器


        raise StopIteration         # StopIteration 異常來判斷for循環(huán)是否結(jié)束


 


    def match(self, *args):         # 模擬case子句的方法


        if self.fall or not args:   # 如果falltrue,則繼續(xù)執(zhí)行下面的case子句


                                    # case子句沒有匹配項,則流轉(zhuǎn)到默認分支。


            return True


        elif self.value in args:    # 匹配成功


            self.fall = True


            return True


        else:                       # 匹配失敗


            return False


 


operator = "+"


x = 1


y = 2


for case in switch(operator):        # switch只能用于for in循環(huán)中


    if case('+'):


        print x + y


        break


    if case('-'):


        print x - y


        break


    if case('*'):


        print x * y


        break


    if case('/'):


        print x / y


        break


    if case():                      # 默認分支


        print ""


輸出為3

條件語句


1)      if 語句


例子:


# 執(zhí)行if語句內(nèi)的程序


a = input("a:")


b = input("b:")


if(a > b):


print a, " > ", b


Note:如果是在pydeveclipse下,運行然后輸入數(shù)字,打個回車就會出現(xiàn)“SyntaxErrorunexpected EOF while parsing”,所以只能用raw_input來代替。原因是回車,編譯器都多讀一個/r,一般按回車后,shells 會輸入“/n”,但因為Eclipse控制臺輸入的是“/r/n”,python就不能很好的識別,可以說這是Python的一個bug。


 


# 跳過if語句


a = input("a:")


b = input("b:")


if(a > b):


    print a, " > ", b


print a, " < ", b


 


# if else語句


a = input("a:")


b = input("b:")


if(a > b):


    print a, " > ", b


else:


print a, " < ", b


Noteinput()he raw_input. Raw_input( )捕獲用戶的原始輸入,raw_input()函數(shù)的聲明如下所示:


Raw_input([prompt])->string,參數(shù)prompt是控制臺輸出的提示文字,提示用戶輸入。返回值為字符串。如果輸入的是數(shù)字,返回的還是字符串。


Input( )支持用戶輸入數(shù)字或表達式,不支持輸入字符串。Input( )函數(shù)的聲明如下所示:


Input([prompt])->value。


2)      if…elif…else語句


例子:


# if elif else語句


score = raw_input("score:")


score=int(score)


if(score >= 90) and (score <= 100):


    print "A"


elif(score >= 80) and (score < 90):


    print "B"


elif(score >= 60) and (score < 80):


    print "C"


else:


    print "D"


3)      if語句的嵌套


編寫條件語句時,應(yīng)該盡量避免使用嵌套語句。嵌套語句不便于閱讀,而且可能會忽略一些可能性。


例子:


x = -1


y = 99


if(x >= 0):


    if(x > 0):          #嵌套的if語句


        y = 1


    else:


        y = 0


else:


    y = -1


print "y =", y


輸出為y=-1


4)      實現(xiàn)switch語句的功能


Python并沒有提供switch語句,Python可以通過字典實現(xiàn)switch語句的功能。


實現(xiàn)方法分兩步。首先,定義一個字典。字典是由鍵值對組成的集合。其次,調(diào)用字典的get()獲取相應(yīng)的表達式。


例子:


from __future__ import division


x = 1


y = 2


operator = "/"


result = {


    "+" : x + y,


    "-" : x - y,


    "*" : x * y,


    "/" : x / y


}


print result.get(operator)          


輸出為0.5


另一種使用switch分支語句的方案是創(chuàng)建一個switch類,處理程序的流程。


a)         創(chuàng)建一個switch類,該類繼承自Python的祖先類object。調(diào)用構(gòu)造函數(shù)init( )初始化需要匹配的字符串,并需要定義兩個成員變量valuefall。Value用于存放需要匹配的字符串,fall用于記錄是否匹配成功,初始值為false,標(biāo)識匹配不成功。如果匹配成功,程序往后執(zhí)行。


b)        定義一個match( )方法,該方法用于用于匹配case子句。這里需要考慮三種情況:首先是匹配成功的情況,其次是匹配失敗的默認case子句,最后是case子句中沒有使用break中斷的情況。


c)         重寫__iter__( )方法,定義該方法后才能使switch類用于循環(huán)語句中。__iter__( )調(diào)用match( )方法進行匹配。通過yield保留字,使函數(shù)可以在循環(huán)中迭代。此外,調(diào)用StopIteration異常中斷循環(huán)。


d)        編寫調(diào)用代碼,在for…in…循環(huán)中使用switch類。


例子:


#!/usr/bin/python


# -*- coding: UTF-8 -*-


 


class switch(object):


    def __init__(self, value):      # 初始化需要匹配的值value


        self.value = value


        self.fall = False           # 如果匹配到的case語句中沒有break,則falltrue


 


    def __iter__(self):


        yield self.match            # 調(diào)用match方法 返回一個生成器


        raise StopIteration         # StopIteration 異常來判斷for循環(huán)是否結(jié)束


 


    def match(self, *args):         # 模擬case子句的方法


        if self.fall or not args:   # 如果falltrue,則繼續(xù)執(zhí)行下面的case子句


                                    # case子句沒有匹配項,則流轉(zhuǎn)到默認分支。


            return True


        elif self.value in args:    # 匹配成功


            self.fall = True


            return True


        else:                       # 匹配失敗


            return False


 


operator = "+"


x = 1


y = 2


for case in switch(operator):        # switch只能用于for in循環(huán)中


    if case('+'):


        print x + y


        break


    if case('-'):


        print x - y


        break


    if case('*'):


        print x * y


        break


    if case('/'):


        print x / y


        break


    if case():                      # 默認分支


        print ""


輸出為3

條件語句


1)      if 語句


例子:


# 執(zhí)行if語句內(nèi)的程序


a = input("a:")


b = input("b:")


if(a > b):


print a, " > ", b


Note:如果是在pydeveclipse下,運行然后輸入數(shù)字,打個回車就會出現(xiàn)“SyntaxErrorunexpected EOF while parsing”,所以只能用raw_input來代替。原因是回車,編譯器都多讀一個/r,一般按回車后,shells 會輸入“/n”,但因為Eclipse控制臺輸入的是“/r/n”,python就不能很好的識別,可以說這是Python的一個bug。


 


# 跳過if語句


a = input("a:")


b = input("b:")


if(a > b):


    print a, " > ", b


print a, " < ", b


 


# if else語句


a = input("a:")


b = input("b:")


if(a > b):


    print a, " > ", b


else:


print a, " < ", b


Noteinput()he raw_input. Raw_input( )捕獲用戶的原始輸入,raw_input()函數(shù)的聲明如下所示:


Raw_input([prompt])->string,參數(shù)prompt是控制臺輸出的提示文字,提示用戶輸入。返回值為字符串。如果輸入的是數(shù)字,返回的還是字符串。


Input( )支持用戶輸入數(shù)字或表達式,不支持輸入字符串。Input( )函數(shù)的聲明如下所示:


Input([prompt])->value。


2)      if…elif…else語句


例子:


# if elif else語句


score = raw_input("score:")


score=int(score)


if(score >= 90) and (score <= 100):


    print "A"


elif(score >= 80) and (score < 90):


    print "B"


elif(score >= 60) and (score < 80):


    print "C"


else:


    print "D"


3)      if語句的嵌套


編寫條件語句時,應(yīng)該盡量避免使用嵌套語句。嵌套語句不便于閱讀,而且可能會忽略一些可能性。


例子:


x = -1


y = 99


if(x >= 0):


    if(x > 0):          #嵌套的if語句


        y = 1


    else:


        y = 0


else:


    y = -1


print "y =", y


輸出為y=-1


4)      實現(xiàn)switch語句的功能


Python并沒有提供switch語句,Python可以通過字典實現(xiàn)switch語句的功能。


實現(xiàn)方法分兩步。首先,定義一個字典。字典是由鍵值對組成的集合。其次,調(diào)用字典的get()獲取相應(yīng)的表達式。


例子:


from __future__ import division


x = 1


y = 2


operator = "/"


result = {


    "+" : x + y,


    "-" : x - y,


    "*" : x * y,


    "/" : x / y


}


print result.get(operator)          


輸出為0.5


另一種使用switch分支語句的方案是創(chuàng)建一個switch類,處理程序的流程。


a)         創(chuàng)建一個switch類,該類繼承自Python的祖先類object。調(diào)用構(gòu)造函數(shù)init( )初始化需要匹配的字符串,并需要定義兩個成員變量valuefall。Value用于存放需要匹配的字符串,fall用于記錄是否匹配成功,初始值為false,標(biāo)識匹配不成功。如果匹配成功,程序往后執(zhí)行。


b)        定義一個match( )方法,該方法用于用于匹配case子句。這里需要考慮三種情況:首先是匹配成功的情況,其次是匹配失敗的默認case子句,最后是case子句中沒有使用break中斷的情況。


c)         重寫__iter__( )方法,定義該方法后才能使switch類用于循環(huán)語句中。__iter__( )調(diào)用match( )方法進行匹配。通過yield保留字,使函數(shù)可以在循環(huán)中迭代。此外,調(diào)用StopIteration異常中斷循環(huán)。


d)        編寫調(diào)用代碼,在for…in…循環(huán)中使用switch類。


例子:


#!/usr/bin/python


# -*- coding: UTF-8 -*-


 


class switch(object):


    def __init__(self, value):      # 初始化需要匹配的值value


        self.value = value


        self.fall = False           # 如果匹配到的case語句中沒有break,則falltrue


 


    def __iter__(self):


        yield self.match            # 調(diào)用match方法 返回一個生成器


        raise StopIteration         # StopIteration 異常來判斷for循環(huán)是否結(jié)束


 


    def match(self, *args):         # 模擬case子句的方法


        if self.fall or not args:   # 如果falltrue,則繼續(xù)執(zhí)行下面的case子句


                                    # case子句沒有匹配項,則流轉(zhuǎn)到默認分支。


            return True


        elif self.value in args:    # 匹配成功


            self.fall = True


            return True


        else:                       # 匹配失敗


            return False


 


operator = "+"


x = 1


y = 2


for case in switch(operator):        # switch只能用于for in循環(huán)中


    if case('+'):


        print x + y


        break


    if case('-'):


        print x - y


        break


    if case('*'):


        print x * y


        break


    if case('/'):


        print x / y


        break


    if case():                      # 默認分支


        print ""


輸出為3

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多