• python中的判断语句与循环语句


    if语句

        每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试。if语句检查程序当前状态,并据此采取相应的措施。如果条件测试的值为Ture,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

        最简单的if语句只有一个测试和一个操作:

    if conditional_test:
        do something

        if else语句,在条件通过时执行一个操作,未通过时执行另一个操作。这个语法适用于两种操作取其中一个的情形。

    a=10
    if a != 10:
        print("a not 10")
    else:
        print("right")

    检查超过两个的情形可以使用if-elif-else结构。python依次检查每个条件直到通过条件测试为止,并跳过余下测试。elif可使用多个,并且可以省去else如果你的条件特别精确的话。

    a=10
    if a < 2:
        print("so small")
    elif a < 10:
        print("try again")
    else:
        print("so high")

        if语句在列表中的应用

    a=[1,2,3,4]
    b=[1,2,3,5,6,7]
    c=[]
    for i in a:
        if i in b:
            c.append(i)
    print(c)
    运行结果
    [1, 2, 3]

    for循环

        for循环可以用来遍历整个列表,每次循环for后面缩进执行的操作都会执行一次,在python中缩进是一个非常重要的部分,python根据缩进来判断代码行与前面一个代码行的关系。

    a=[]
    for i in range(1,3):
        a.append(i)
        print(i)
    print(a)
    输出结果
    1
    2
    [1, 2]
    a=[]
    for i in range(1,3):
        a.append(i)
        print(i)
        print(a)
    输出结果
    1
    [1]
    2
    [1, 2]

        列表解析将for循环和创建新元素的代码合并成一行:

    a=[i*2 for i in range(10)]
    print(a)
    运行结果
    [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

    while循环

        for循环用于针对集合中每个元素的代码块,while用于让循环不断运行直到条件不满足为止。

    i = 0
    while i < 3:
        print(i)
        i+=1
    输出结果
    0
    1
    2

        除了while条件不满足以外还可以通过break退出循环。

    while True:
        name =input('what is your name:	'.expandtabs(2))
        if name =='quit':
            break
    运行结果
    what is your name:  jack
    what is your name:  jeff
    what is your name:  quit
    
    Process finished with exit code 0

        while循环还可以使用continue退出本次循环。

    i=1
    while i < 10:
        i+=1
        if i % 2 == 1:
            continue
        print(i)
    运行结果
    2
    4
    6
    8
    10

        还有一种用标志位的方式进行退出循环:

    flag =True
    while flag:
        name=input("what is your name: ")
        if name == 'quit':
            flag = False
        else:
            print(name)
    运行结果
    what is your name: jeff
    jeff
    what is your name: quit
    
    Process finished with exit code 0

        我们还常用while循环处理列表和字典,与for循环不同的是,for循环遍历列表时不应该修改列表,这使得python中修改后难以跟踪其中的元素,所以遍历时修改列表需要使用while循环。

    names=['jeff','xixi','frank']
    names2=[]
    while names:
        name=names.pop()
        names2.append(name)
    print(names)
    print(names2)
    运行结果
    []
    ['frank', 'xixi', 'jeff']

        删除列表中的某个值:

    names=['jeff','jeff','JEFF','tom']
    while 'jeff' in names:
        names.remove('jeff')
    print(names)
    运行结果
    ['JEFF', 'tom']

        使用用户填充字典:

    names_hobby={}
    while True:
        name = input("what is your name: ")
        if name == 'quit':
            break
        hobby = input("what your hobby: ")
        names_hobby[name] = hobby
    print(names_hobby)
    运行结果
    what is your name: jeff
    what your hobby: play
    what is your name: mike
    what your hobby: jeff
    what is your name: quit
    {'mike': 'jeff', 'jeff': 'play'}

    break和continue

      break:跳出当前的循环体,不在继续后面的循环,可用在while循环和for循环中;

      continue:跳出当前的循环,继续下一次循环,可用在while循环和for循环中。

    数据运算

      算术运算;

      比较运算:

      赋值运算:

      逻辑运算:

      成员运算:

      身份运算:

      位运算:

      运算符优先级:

      附加:三元运算

    result = 值1 if 条件 else 值2

      如果条件为真:result = 值1
      如果条件为假:result = 值2

    #三元运算,就是if条件判断,前后各有一个值,指向一个变量
    #条件成立,就将第一个值赋给变量,条件不成立就将第二个值赋给变量
    #就是一个条件判断,和两个不同的值组合成的判断运算,就是三元运算
    a = 11
    b = "小孩"
    c = "青年"
    #判断如果a变量小于或者等于10就将b变量赋值给nian变量,否则就将c变量赋值给nian变量
    nian = b if a <= 10 else c
    print(nian)
  • 相关阅读:
    NOIP 2012 文化之旅
    史上最全的各种C++ STL容器全解析
    详解C++ STL map 容器
    详解C++ STL priority_queue 容器
    浅谈C++ STL stack 容器
    浅谈C++ STL queue 容器
    浅谈C++ STL vector 容器
    CF1185F Two Pizzas
    浅谈C++ STL deque 容器
    详解C++ STL multiset 容器
  • 原文地址:https://www.cnblogs.com/Jeffding/p/7113550.html
Copyright © 2020-2023  润新知