2021年7月3日 星期六

決策與迴圈控制

學習目標:
  • 了解程式決策與迴圈控制的運作方式!

迴圈控制實作:
  1. 使用指令模式,實作 for 迴圈:
    >>> players = ["Peter","James","Mary","Jane"]
    >>> for i in players:
    ...     print(i)
    ...
    Peter
    James
    Mary
    Jane
    
    PS: for 指令換行之後,請空四格,再輸入其它指令!
  2. 使用指令模式,配合 range(stop) 函數,實作 for 迴圈(1):
    >>> players = ["Peter","James","Mary","Jane"]
    >>> for i in range(2):
    ...     print(players[i])
    ...
    Peter
    James
    
    PS: 印出陣列中,第一個以及第二個位置的資料!
  3. 使用指令模式,配合 range(start,stop) 函數,實作 for 迴圈(2):
    >>> players = ["Peter","James","Mary","Jane"]
    >>> for i in range(1,3):
    ...     print(players[i])
    ...
    James
    Mary
    
    PS: 印出陣列中,第二個以及第三個位置的資料!
  4. 使用指令模式,配合 range(start,stop,step) 函數,實作 for 迴圈(3):
    >>> players = ["Peter","James","Mary","Jane","Tom","Kid"]
    >>> for i in range(1,5,2):
    ...     print(players[i])
    ...
    James
    Jane
    
    PS: 印出陣列中,第二個以及第四個位置的資料!
  5. 使用指令模式,實作 while 迴圈:
    >>> a = 1
    >>> while (a < 10):
    ...     print(a)
    ...     a += 1
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    PS: 印出陣列中,第二個以及第四個位置的資料!

決策控制實作:
  1. 使用指令模式,實作 if 決策控制:
    >>>a = eval(input("請輸入一個數字:"))
    請輸入一個數字:3
    >>>if a == 3:
    ...    print("Bingo")
    ...
    Bingo
    
  2. 使用指令模式,實作 if...else 決策控制:
    >>>a = eval(input("請輸入一個數字:"))
    請輸入一個數字:4
    >>>if a == 3:
    ...    print("Bingo")
    ...else:
    ...    print("Try again")
    ...    
    Try again
    
  3. 使用指令模式,實作 if...elif...else 決策控制:
    >>>a = eval(input("請輸入一個數字:"))
    請輸入一個數字:4
    >>>if a == 3:
    ...    print("Bingo")
    ...elif a == 4:
    ...    print("That is near !!")
    ...else:
    ...    print("Try again")
    ...
    That is near
    
  4. 使用指令模式,配合 for 迴圈實作 if...else 決策控制:
    >>>players = ["Peter","Mary","Jane","Tom"]
    >>>for i in range(len(players)):
    ...    if (i & 1):
    ...        print("Girl")
    ...    else:
    ...        print("Boy")
    Boy
    Girl
    Boy
    Girl
    
修改遊戲主要程式內容:
  • 修改程式內的迴圈內容:main.py
    # 要求玩家要輸入遊戲人數
    players_num = eval(input("請輸入玩家人數:"))
    
    # 設定一開始的遊戲幣
    moneys = []
    
    # 設定玩家名單
    players_name = []
    
    # 按照遊戲人數,輸入玩家名稱,以及增加遊戲幣數量
    for i in range(players_num):
        # 要求玩家輸入玩家名稱
        players = input("請輸入玩家名稱:")
        # 將玩家名稱列入玩家資料陣列
        players_name.append(players) 
        # 增加遊戲幣數量
        moneys.append(20000) 
    
    # 輸出資料
    print(players_name)
    print(moneys)
    
    # 開始進行遊戲
    while True:
    ##### a.)
    ##### b.)
    ##### c.)
    ##### e.)
        players_num = players_num - 1 # 測試 while 迴圈用
        print(players_num)
    ##### f.) 結束遊戲條件
        if (players_num <= 1):
            print("遊戲結束")
            break