Spaces:
Running
Running
Download classroom_data/templates/week02/main.py from Telearn/Project_Demo: direct link, hf CLI and curl.
- Browser
- Download file 2.77 kB
-
https://huggingface.co/spaces/Telearn/Project_Demo/resolve/main/classroom_data/templates/week02/main.py
- Command line
-
hf download hf://spaces/Telearn/Project_Demo/classroom_data/templates/week02/main.py
-
curl -L -o main.py https://huggingface.co/spaces/Telearn/Project_Demo/resolve/main/classroom_data/templates/week02/main.py
2.77 kB
| """Lesson 2:校園謎案調查局 Starter。 | |
| 先完成 TODO 1~4。程式必須能反覆探索、收集線索、查看證物並提出推理。 | |
| """ | |
| CASE_TITLE = "消失的校徽" | |
| LOCATIONS = { | |
| "1": { | |
| "name": "六年一班教室", | |
| "scene": "展示櫃半開,窗戶也沒有關好。", | |
| "evidence": "窗框上的藍色纖維", | |
| }, | |
| "2": { | |
| "name": "操場司令台", | |
| "scene": "地面剛拖過,留下一道彎向圖書館的輪痕。", | |
| "evidence": "沾著亮粉的推車輪痕", | |
| }, | |
| "3": { | |
| "name": "圖書館", | |
| "scene": "清潔推車停在書架旁,後方似乎有東西反光。", | |
| "evidence": "卡在推車後方的校徽", | |
| }, | |
| } | |
| evidence_bag = [] | |
| def investigate(location_id): | |
| """調查地點並將新線索放入證物袋。""" | |
| # TODO 1:確認 location_id 是否存在於 LOCATIONS。 | |
| # TODO 2:顯示地點名稱與現場描述。 | |
| # TODO 3:線索尚未取得時才 append 到 evidence_bag。 | |
| print("這個調查功能還沒完成。") | |
| def show_evidence(): | |
| """列出目前取得的所有證物。""" | |
| # TODO 4:沒有證物時顯示提示;否則以 1 開始編號列出。 | |
| print("證物袋功能還沒完成。") | |
| def make_deduction(): | |
| """取得足夠證物後,讓玩家選擇真相。""" | |
| if len(evidence_bag) < 3: | |
| print(f"證物不足:目前 {len(evidence_bag)}/3。再去調查吧!") | |
| return False | |
| print("\n哪一個說法最符合所有證物?") | |
| print("1. 有同學故意把校徽藏在圖書館") | |
| print("2. 風吹起校徽,清潔推車不小心把它帶到圖書館") | |
| print("3. 校徽從一開始就放在圖書館") | |
| answer = input("你的推理:").strip() | |
| # TODO 5(Checkpoint C):判斷答案,正確時回傳 True。 | |
| print("推理判定還沒完成。") | |
| return False | |
| def show_menu(): | |
| print(f"\n=== 校園謎案調查局:{CASE_TITLE} ===") | |
| print("1. 調查六年一班教室") | |
| print("2. 調查操場司令台") | |
| print("3. 調查圖書館") | |
| print("4. 查看證物袋") | |
| print("5. 提出推理") | |
| print("6. 離開") | |
| def main(): | |
| print("午休結束後,校慶展示櫃裡的校徽消失了。你能找出真相嗎?") | |
| while True: | |
| show_menu() | |
| choice = input("請選擇:").strip() | |
| if choice in LOCATIONS: | |
| investigate(choice) | |
| elif choice == "4": | |
| show_evidence() | |
| elif choice == "5": | |
| if make_deduction(): | |
| break | |
| elif choice == "6": | |
| print("案件暫停。證物袋已交回調查局。") | |
| break | |
| else: | |
| print("請輸入 1~6。") | |
| if __name__ == "__main__": | |
| main() | |