zoukankan      html  css  js  c++  java
  • Python3 的分支与循环

    1:条件分支

    if 条件 :

      语句

    else:

      语句

    2.缩写

    else:

      if :

    可以简写为 elif ,因此Python 可以有效的避免“悬挂else”

    举例:

    #悬挂else
    score = int(input('请输入一个分数:'))
    if 80 > score >= 60:
        print('C')
    else:
        if 90 > score >= 80:
            print('B')
        else:
            if 60 > score >= 0:
                print('D')
            else:
                if 100 >= score >= 90:
                    print('A')
                else:
                    print('输入错误!')
    
    
    #避免“悬挂else”
    score = int(input('请输入一个分数:'))
    if 80 > score >= 60:
        print('C')
    elif 90 > score >= 80:
        print('B')
    elif 60 > score >= 0:
        print('D')
    elif 100 >= score >= 90:
        print('A')
    else:
        print('输入错误!')                                       

    3:条件表达式(三元操作符)

    small = x if x<y else y

    例子将下列代码修改为三元操作符

    x, y, z = 6, 5, 4
    if x < y:
        small = x
        if z < small:
            small = z
    elif y < z:
        small = y
    else:
        small = z

    修改后

    small = x if (x < y and x < z) else (y if y < z else z)

    4:断言(assert)

    当assert 后的条件为假时程序自动崩溃并抛出AssertionError的异常

    可以用它在程序中置入检查点

    assert 3<4
    >>>True
    assert 1<0
    Traceback (most recent call last):
      File "<pyshell#26>", line 1, in <module>
        assert 1<0
    AssertionError
    >>>

    5:while循环

    语法

    while 条件:

      循环体

    6:for循环

    语法

    for 目标 in 表达式:

      循环体

    与for经常使用的BIF range()

    语法

    range([start],[stop],step=1)

    例子

    for i in range(5)
        print(i)
    fori in range(2,9)
        print(i)
    fori in range(1,10,2)
        print(i)

    三色球问题:

      红黄蓝三种颜色的球,红球3个黄球3个,蓝球6个,从中任意摸出8个球,编程计算摸出球的颜色搭配

    print('red	yellow	green')
    for red in range(0, 4):
        for yellow in range(0, 4):
            for green in range(2, 7):
                if red + yellow + green == 8:
                    # 注意,下边不是字符串拼接,因此不用“+”哦~
                    print(red, '	', yellow, '	', green)

    7:两个关键句

    break 终止当前循环

    continue终止本轮循环并进入下一轮循环但在进入下一轮循环前会测试循环条件!

    成员资格运算符

    obj [not] in sequence

    这个操作符返回值是True或者False

    例子

    设计一个用户验证密码程序,三次机会,输入含有‘*’号的密码提示从新输入,不减少次数

    count = 3
    password = 'FishC.com'
    
    while count:
        passwd = input('请输入密码:')
        if passwd == password:
            print('密码正确,进入程序......')
            break
        elif '*' in passwd:
            print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
            continue
        else:
            print('密码输入错误!您还有', count-1, '次机会!', end=' ')    
        count -= 1
  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number
    6. ZigZag Conversion
    5. Longest Palindromic Substring
    4. Median of Two Sorted Arrays
    3. Longest Substring Without Repeating Characters
    2. Add Two Numbers
    链式表的按序号查找
    可持久化线段树——区间更新hdu4348
    主席树——树链上第k大spoj COT
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/8331469.html
Copyright © 2011-2022 走看看