Python 707 共同科目
Python TQC
題目說明:¶
請撰寫一程式,輸入X組和Y組各自的科目至集合中,以字串”end”作為結束點(集合中不包含字串”end”)。請依序分行顯示(1) X組和Y組的所有科目、(2)X組和Y組的共同科目、(3)Y組有但X組沒有的科目,以及(4) X組和Y組彼此沒有的科目(不包含相同科目)。
Tip
科目須參考範例輸出樣本,依字母由小至大進行排序。
輸入與輸出會交雜如下,輸出的部份以粗體字表示¶
Enter group X’s subjects:
Math
Literature
English
History
Geography
end
Enter group Y’s subjects:
Math
Literature
Chinese
Physical
Chemistry
end
[‘Chemistry’, ‘Chinese’, ‘English’, ‘Geography’, ‘History’, ‘Literature’, ‘Math’, ‘Physical’]
[‘Literature’, ‘Math’]
[‘Chemistry’, ‘Chinese’, ‘Physical’]
[‘Chemistry’, ‘Chinese’, ‘English’, ‘Geography’, ‘History’, ‘Physical’]
題目分析
這個問題要求我們編寫一個程式,根據用戶輸入的X組和Y組的科目,對集合進行操作,然後輸出指定的結果。根據問題描述,我們可以按照以下步驟思考和解決問題:
-
問題分析:
- 理解問題要求:首先,我們需要理解題目要求,即根據用戶輸入的X組和Y組的科目,分別執行四個操作,包括列出所有科目、列出共同科目、列出Y組有但X組沒有的科目、列出彼此不同的科目。
- 確定輸入和輸出:輸入包括用戶輸入的X組和Y組的科目,輸出包括四個部分的結果。 -
解題思路:
- 創建空的集合X和Y。
- 使用while迴圈分別讓用戶輸入X組和Y組的科目,直到輸入”end”為止。
- 對集合進行操作,包括聯集、交集、差集和對稱差集。
- 將結果進行排序後輸出。 -
思考方向:
- 如何處理用戶輸入:使用迴圈來逐一接收用戶輸入的科目,並在輸入”end”後停止。
- 如何進行集合操作:根據題目要求,使用集合操作符號來執行所需的操作,包括聯集(|)、交集(&)、差集(-)和對稱差集(^)。
- 如何將結果排序後輸出:使用sorted()函數來對集合進行排序,以確保結果按照字母順序排列。
Solution¶
Reference
Created : 13 novembre 2024