1. 程式人生 > 遊戲 >功夫遊戲《師父》在發售時將沒有難度選擇

功夫遊戲《師父》在發售時將沒有難度選擇

1.函式input()的工作原理

函式input()讓程式暫停,等待使用者輸入一些文字,獲取到使用者輸入的文字賦給一個變數,使用者輸入後按下Enter鍵繼續執行

1.1 編寫清晰的程式

每當使用函式input()時,都應指定清晰易懂的提示,讓使用者來進行輸入
在提示末尾新增包含一個空格,可將提示和使用者輸入的內容分隔開
提示超過一行,可將提示內容賦給一個變數,再將該變數傳遞給函式input()
例如:

promote = "If you tell us who you are, we can peisonalize the message for you see."
promote += "\n What is your first name?"

name = input(promote)
print(f"\n Hello,{name}! ")

1.2 使用int()來獲取數值輸入

  • 使用函式input()時,python將使用者輸入的內容解讀為字串
  • 可使用int()函式來將使用者輸入的內容轉變成數值
    例如:
age = int(input("How old are you ?"))

1.3 求模運算子

  • 求模運算子%將兩個數相除並返回餘數
  • 如果一個數可以被另外一個數整除,求模運算返回的是0

2. while迴圈

2.1 使用while迴圈

  • while迴圈不斷執行,直到指定的條件不滿足為止
  • for迴圈用於針對集合中的每個元素都執行一個程式碼塊

2.2 讓使用者選擇何時退出

  • 可以使用while迴圈在使用者願意的時候不斷執行,當用戶不想while迴圈繼續執行的時候,由使用者輸入指定的退出值

    來決定while迴圈不再迴圈

    例如:

    promote = "Tell me your name , i will repeat it back to you: "
    promote += "\n Enter 'quit' to end the program."
    message = ''
    while message != 'quit':
      message = input(promote)
      print(message)
    

2.3 使用標誌

promote = "Tell me your name , i will repeat it back to you: "
promote += "\n Enter 'quit' to end the program."
message = ''
active = True
while active:
  message = input(promote)
  
  if message == 'quit':
    active = False
  else:
    print(message)

2.4 使用break退出迴圈

要立即退出迴圈不再執行餘下的程式碼,也不管測試條件的結果如何,使用break語句

promote = "Tell me your name , i will repeat it back to you: "
promote += "\n Enter 'quit' to end the program."
message = ''
while True:
  message = input(promote)
  
  if message == 'quit':
    break
  else:
  	print(message)

2.5 在迴圈中使用continue

要返回迴圈的開頭,並根據測試條件結果決定是否繼續執行迴圈,可使用continue

例如:

#列印1-10所有奇數
current_number = 0
while current_number < 10:
  current_number += 1
  if current_number % 2 == 0:
    continue
  print(current_number)

2.6 避免無限迴圈

確保while迴圈中有一個地方能夠讓測試條件變為False

3. 使用while處理字典和列表

3.1 在列表之間移動元素

例如:

unconfirmed_users = ['alice','brian','candace']
confirmed_users = []
while uncomfirmed_users:
  current_users = uncomfirmed_users.pop()
  confirmed_users.append(current_users)
  

3.2 刪除為特定值的所有列表元素

例如:

pets = ['cat','dog','rabbit','cat']
while 'cat' in pets:
  pets.remove('cat')

3.3 使用使用者輸入來填充字典

例如:

responds = {}
polling_active = True
while polling_active:
  name = input("\n What is your name? ")
  respond = input("Which mountain would you like to climb someday? ")
  
  responds['name'] = respond
  
  repeat = input("Would you like to let another person respond? (yes/no) ")
  if repeat == 'no':
    polling_active = False
for name,respond in responds.items():
  print(f"{name} would like to climb {respond}")