• Python语句


    一)条件语句
    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
    if 语句用于控制程序的执行,基本形式为:

    if 判断条件:
        执行语句……
    elif 判断条件:
        执行语句……
    else:
        执行语句……

    注意:(1)elif语句可以有0个或多个
    (1)由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
    练习1:if语句练习-多个elif-判断成绩等级

    #encoding=utf-8
    def print_grade_level(grades):
        if 90<=grades<=100:
            print u'优秀'
        elif 80<=grades<90:
            print u'良好'
        elif 60<=grades<80:
            print u'及格'
        else:
            print u'不及格'
    
    try:
        grades=float(raw_input('please input your grade:'))
        print_grade_level(grades)
    except Exception,e:
        print u"请输入正确的分数!"
    

    练习2:猜数

    >>> import random
    >>> target_number=random.randint(1,5)
    >>> guess_number=int(raw_input("input your guess number:"),)
    input your guess number:4
    >>> if guess_number ==target_number:
    ...     print "you got it"
    ... elif guess_number>target_number:
    ...     print "bigger"
    ... else:
    ...     print "less"
    you got it
    

    (二)循环语句
    1while循环
    在给定的判断条件为 true 时执行循环体,否则退出循环体。
    语句格式为:

    while 判断条件:
        执行语句……
    else:
        执行语句……

    注意:
    执行语句可以是单个语句或语句块;
    判断条件可以是任何表达式,任何非零、或非空(null)的值均为True;
    当判断条件为假即False时(参考bool中false的情况),循环结束。
    练习1:打印出count计算

    >>> count=0
    >>> while(count<9):
    ...     print "the index is:",count
    ...     count+=1
    

    练习2:列表倒序打印

    >>> number=-1
    >>> while number>=-len(lista):
    ...        print lista[number]
    ...        number-=1 

    练习3:猜数,循环猜数直到猜中为止

    #coding=utf-8
    import random
    target_number=random.randint(1,5)
    print target_number
    guess_times=0
    while 1:
        guess_number=int(raw_input("please input your guess number:"))
        guess_times+=1
        if guess_number>target_number:
            print "bigger"
        elif guess_number 
    

    for循环
    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
    for iterating_var in sequence:
    statements(s)
    此处的sequence为序列,可以为元组、列表、字符串、字典。
    for … else结构下
    1.for里面的语句和普通的(没有else的for语句)没有区别;
    2.else中的语句会在循环正常执行完后执行;
    3.当for中语句通过break跳出而中断时,不会执行else。

    练习1:用于序列类型

    for eachLetter in "names":
    ...     print "current letter:",eachLetter
    

    练习2:通过序列项迭代

    >>> nameList=['walter','nicole','steven','henry']
    >>> for eachName in nameList:
    ...     print eachName,"lim"
    

    练习3:通过索引迭代

    >>> nameList=['walter','nicole','steven','henry']
    >>> for nameIdex in range(len(nameList)):
    ...      print "liu",nameList[nameIdex]
    

    练习4:

    >>> nameList=["Donn","Shirley","Ben","Janice","David","Yen","Wendy"]
    >>> for i,eachLee in enumerate(nameList):
    ...     print "%d %s Lee"%(i+1,eachLee)
    

    练习5:判断质数

    >>>import math
    >>>ss=int(raw_input("enter:"))
    >>>for i in range(2,int(math.sqrt(ss))+1):
    >>>    if ss%i==0:
    >>>        print "%d is not prime"%ss
    >>>        break
    >>>else:
    >>>    print "%d is prime"%ss
    

    练习6:递规的用法

    >>>def fact(n):
    >>>    if n<=1:
    >>>        return 1
    >>>    else:
    >>>        return n*fact(n-1)

    注:当递归函数有return时,在递归的地方也要return,不然永远返回是None

    练习6:嵌套输出10-50个数是1-5的数
    方法一:

    >>> for i in range(1,5):
    ...     for j in range(1,6):
    ...         print str(i)+str(j) 

    方法二:

    >> for i in range(10,50):
    ..     if str(i)[1] in ["1","2","3","4","5"]:
    ..         print i 

    方法三:

    lis=[1,2,3,4,5]
    for i in range(10,51):
        j=i%10
        if j in lis:
            print i
    

    (三)break/continue/pass语句
    (1)breakcontinue
    break:跳出最近所在的循环(跳过整个循环语句)
    continue:跳到最近所在循环的开头处(来到循环的首行)
    pass:什么事也不做,只是空占位语句
    循环else块:只有当循环正常离开时才会执行(也就是没有碰到break语句)

    (3)直接退出多重循环三种方式
    方法一:

    class getoutofloop(Exception): pass
    try:
        for i in range(5):
            for j in range(5):
                for k in range(5):
                    if i == j == k == 3:
                        raise getoutofloop()
                    else:
                        print i, '----', j, '----', k
    except getoutofloop:
        Pass
    

    方法二:

    def test():
        for i in range(5):
            for j in range(5):
                for k in range(5):
                    if i == j == k == 3:
                        return
                    else:
                        print i, '----', j, '----', k
    test()

    方法三:

    for i in range(5):
        for j in range(5):
            for k in range(5):
                if i == j == k == 3:
                    break
                else:
                    print i, '----', j, '----', k
            else: continue
            break
        else: continue
        Break
  • 相关阅读:
    2024年阿里云4核8G配置云服务器价格低性能高!
    秋招面经第三弹:oppo一面-大数据开发工程师
    多线程&并发篇---第十四篇
    能否通过手机号查询他人位置及技术实现(省流:不能)
    JavaScript基础与变量
    Axure RP美容美妆医美行业上门服务交互原型图模板源文件
    maven的下载安装与卸载
    基于CNN实现谣言检测 - python 深度学习 机器学习 计算机竞赛
    [iOS]static、extern、const关键字比较
    Ceres 曲线拟合
  • 原文地址:https://blog.csdn.net/weixin_73136678/article/details/128207389