#40813: 解答 python


n0970616056@gmail.com (CIOU-HE-CHEN)

學校 : 不指定學校
編號 : 273811
來源 : [111.253.1.171]
最後登入時間 :
2024-06-14 11:55:43
m931. 1. 遊戲選角 -- 2024年1月APCS | From: [27.247.62.93] | 發表日期 : 2024-06-13 22:16

解答

# 讀取角色數量 n = int(input()) # 讀取每個角色的攻擊力和防禦力,並計算能力值 characters = [] for _ in range(n): attack, defense = map(int, input().split()) ability_value = attack**2 + defense**2 characters.append((ability_value, attack, defense)) # 按照能力值進行排序 characters.sort(reverse=True, key=lambda x: x[0]) # 輸出能力值第二大的角色的攻擊力和防禦力 second_highest_character = characters[1] print(second_highest_character[1], second_highest_character[2])

思路

要解決這個問題,我們可以按照以下步驟來實現: 1. 讀取輸入數據,包括角色數量和每個角色的攻擊力和防禦力。 2. 計算每個角色的能力值(攻擊力的平方加上防禦力的平方)。 3. 將角色按照能力值進行排序。 4. 輸出能力值第二大的角色的攻擊力和防禦力。 以下是Python程式碼實現: ```python # 讀取角色數量 n = int(input()) # 讀取每個角色的攻擊力和防禦力,並計算能力值 characters = [] for _ in range(n): attack, defense = map(int, input().split()) ability_value = attack**2 + defense**2 characters.append((ability_value, attack, defense)) # 按照能力值進行排序 characters.sort(reverse=True, key=lambda x: x[0]) # 輸出能力值第二大的角色的攻擊力和防禦力 second_highest_character = characters[1] print(second_highest_character[1], second_highest_character[2]) ``` 這段程式碼首先讀取角色數量,然後讀取每個角色的攻擊力和防禦力並計算其能力值。接著,將角色按照能力值從大到小進行排序,最後輸出能力值第二大的角色的攻擊力和防禦力。 你可以將這段程式碼複製到你的編輯器中,然後運行來驗證結果。

 
ZeroJudge Forum