語法,if,while循環,for循環

1、語法

  • if:

if判斷實際上是在模擬人作判斷。就是說若是這樣幹什麼,若是那樣幹什麼。對於ATM系統而言,則須要判斷你的帳號密碼的正確性。code

if 條件:
    代碼1
    代碼2
    代碼3
    ...
# 代碼塊(同一縮進級別的代碼,例如代碼一、代碼2和代碼3是相同縮進的代碼,這三個代碼組合在一塊兒就是一個代碼塊,相同縮進的代碼會自上而下的運行)

例如:輸入姑娘的年齡後,進行如下判斷:索引

  1. 若是姑娘小於18歲,打印「未成年」
  2. 若是姑娘大於18歲小於25歲,打印「表白」遊戲

  3. 若是姑娘大於25歲小於45歲,打印「阿姨好」input

  4. 若是姑娘大於45歲,打印「奶奶好」數學

    while 1:
        age=input('請輸入女孩的年齡')
        age=int(age)
    
        if age >=45:
            print('奶奶好')
        if age >=25 and age<45:
            print('阿姨好')
        if age >=18 and age<25:
            print('表白')
        if age <18:
            print('未成年')
  • if...else:

​ if...else表示if成立代碼成立會幹什麼,else不成立會幹什麼。it

  • if...elif...else

if...elif...else表示if條件1成立幹什麼,elif條件2成立幹什麼,elif條件3成立幹什麼,elif...不然幹什麼。for循環

例如:成績評判class

  • 若是 成績>=90,打印"優秀"import

  • 若是 成績>=80 而且 成績<90,打印"良好"
  • 若是 成績>=70 而且 成績<80,打印"普通"
  • 其餘狀況:打印"差"

# 成績評判
score = input("your score: ")
score = int(score)


if score >= 90:
    print('優秀')
# elif score >= 80 and score < 90:
elif score >= 80:
    print('良好')
# elif score >= 70 and score < 80:
elif score >= 70:
    print('普通')
else:
    print('差')

2、while循環

循環就是一個重複的過程,咱們人須要重複幹一個活,那麼計算機也須要重複幹一個活。ATM驗證失敗,那麼計算機會讓咱們再一次輸入密碼。這個時候就得說出咱們的wile循環,while循環又稱爲條件循環。

  • while+break

    循環的目的是爲了讓計算機和人同樣工做,循環處理事情.

    break的意思是終止掉當前層的循環,執行其餘代碼。

    例如:

    while True:
        user_db = 'nick'
        pwd_db = '123'
    
        inp_user = input('username: ')
        inp_pwd = input('password: ')
        if inp_user == user_db and pwd_db == inp_pwd:
            print('login successful')
            break
        else:
            print('username or password error')
    
    print('退出了while循環')

    username: nick
    password: 123
    login successful
    退出了while循環

  • while+continue

    continue的意思是終止本次循環,直接進入下一次循環。

    continue不能加在循環體的最後一步執行的代碼,由於代碼加上去毫無心義,以下所示的continue所在的位置就是毫無心義的。

    ps:注意是最後一步執行的代碼,而不是最後一行。

  • while循環的嵌套

    ATM密碼輸入成功還須要進行一系列的命令操做,好比取款,好比轉帳。而且在執行功能結束後會退出命令操做的功能,即在功能出執行輸入q會退出輸出功能的while循環而且退出ATM程序。

==例如:猜年齡遊戲升級版,有如下三點要求:==

  1. 容許用戶最多嘗試3次

  2. 每嘗試3次後,若是還沒猜對,就問用戶是否還想繼續玩,若是回答Y或y, 就繼續讓其猜3次,以此往復,若是回答N或n,就退出程序

  3. 若是猜對了,就直接退出

    n=0
    age=20
    while n<4:
        guess_age=int(input(f'請輸入年齡,你還有{3-n}次機會哦:'))
        if guess_age==age:
            print('猜對了,退出程序')
            break
        else:
            print('猜錯了')
            n=n+1
            if n==3:
                a=input('你已經輸錯了3次,如想繼續玩,請輸入y或者Y;'
                          '不繼續請輸入n或者N:')
                while 1:
                    if a=="n"or a=="N":
                        print('不猜了,退出程序')
                        n=4
                        break
                    elif a=='y'or a=='Y':
                        n=0
                        break

3、for循環

字典也有取多個值的需求,字典可能有while循環沒法使用了,這個時候可使用咱們的for循環。

for循環的循環次數受限於容器類型的長度,而while循環的循環次數須要本身控制。for循環也能夠按照索引取值。

例如:打印1-100之間的偶數:

for i in range(1,101):
    if i%2!=1:
        print(i)
  • for+continue

    for循環調出本次循環,進入下一次循環

  • for+break

    for循環調出本層循環。

  • for循環嵌套

    外層循環循環一次,內層循環循環全部的

    ==例如:打印以下所示9*9乘法表:==

    '''
    1*1=1 
    2*1=2 2*2=4 
    3*1=3 3*2=6 3*3=9 
    4*1=4 4*2=8 4*3=12 4*4=16 
    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
    6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
    7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
    8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
    9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 
    '''
    for i in range(1,10):
        for j in range(1,i+1):
            print(f'{i}','*',f'{j}','=',i*j,end=' ')
        print()
  • for+else

    for循環沒有break的時候觸發else內部代碼塊。

  • for循環實現loading

    import time
    
    print('Loading', end='')
    for i in range(6):
        print(".", end='')
        time.sleep(0.2)

    loading......

==例如:打印以下所示金字塔:==

'''
             # max_level=5
    *        # current_level=1,空格數=4,*號數=1
   ***       # current_level=2,空格數=3,*號數=3
  *****      # current_level=3,空格數=2,*號數=5
 *******     # current_level=4,空格數=1,*號數=7
*********    # current_level=5,空格數=0,*號數=9

# 數學表達式
空格數 = max_level-current_level
*號數 = 2*current_level-1
'''
max_level=5
for i in range(1,6):
    current_level=i
    a=5-i
    b=2*i-1
    print(' '*a,'*'*b)
相關文章
相關標籤/搜索