5. 【竞赛】“3+1+2”新高考选考科目问题

【问题描述】2020年,河北等省份实行"3+1+2"新高考制度。其中"3"指语文、数学和外语,为必考科目;"1"是历史和物理二选一作为考试科目;"2"是指地理、政治、化学和生物这4门科目四选二作为考试科目。请编写程序,计算某考生共有多少种可能的选考方案,并列举所有选考方案。

【输入形式】

【输出形式】用print()函数

【样例输入】

【样例输出】

共有12种选考方案:

语文,数学,外语,物理,化学,生物

语文,数学,外语,物理,政治,生物

语文,数学,外语,物理,政治,化学

语文,数学,外语,物理,地理,生物

语文,数学,外语,物理,地理,化学

语文,数学,外语,物理,地理,政治

语文,数学,外语,历史,化学,生物

语文,数学,外语,历史,政治,生物

语文,数学,外语,历史,政治,化学

语文,数学,外语,历史,地理,生物

语文,数学,外语,历史,地理,化学

语文,数学,外语,历史,地理,政治

【样例说明】

【评分标准】

python 复制代码
import itertools

required = ['语文', '数学', '外语']
subjects_1 = ['物理', '历史']
subjects_2 = ['地理', '政治', '化学', '生物']

combs = list(itertools.combinations(subjects_2, 2))
combs_reversed = combs[::-1]

schemes = []
for s1 in subjects_1:
    for c in combs_reversed:
        scheme = required + [s1] + list(c)
        schemes.append(scheme)

print("共有12种选考方案:\n")
for s in schemes:
    print(','.join(s))
相关推荐
M--Y6 小时前
LangGraph 工作流模式
开发语言·javascript·python·langchain·大模型·llm·langgraph
岁月宁静7 小时前
DeepSeek Harness 实战与架构解析:让 Agent 从“会聊”到“能交付”
人工智能·python·agent
LiaoWL1237 小时前
NumPy 入门实战(二):向量化与余弦相似度——从 ndarray 到 Embedding
python·numpy·embedding
forest_097 小时前
多 Agent 协作第二课:交叉验证≠独立验证
人工智能·python·算法·机器学习·prompt·agi
databook11 小时前
时间序列数据,先拆规律还是先查异常
python·数据挖掘·数据分析
师夷长技以自愈11 小时前
手搓 AI Agent 第 8 篇:从手写循环到画流程图——LangGraph 封装
人工智能·python
aifannihao12 小时前
Rust 1.100 的 DropGuard:用 Python 实测失败回滚与吞异常
python·rust·异常处理·标准库·contextlib
用户0190275816114 小时前
天勤 tqsdk 能做 A 股行情吗?期货强项与股票数据选型
python
2601_9679791215 小时前
pip在Python中的9个必须知道的用法
python·pip·版本控制·包管理工具·requirements.txt
曲径海盗15 小时前
【Python 学习第 58 天】列表方法
python·学习笔记·编程入门