4. “3+3”高考选考科目问题

【问题描述】从2017年开始,上海采用"3+3"新高考制度,第一个"3"表示语文、数学和外语("大三门"),这是必考科目,第2个"3"是从历史、地理、政治、物理、化学、生物这6个科目中任选3门报考("小三门")。请编写程序,针对"小三门"科目,计算并列举所有选考科目方案,最后给出所有方案的总个数。

【输入形式】

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

【样例输入】

【样例输出】

历史 地理 政治

历史 地理 物理

历史 地理 化学

历史 地理 生物

历史 政治 物理

历史 政治 化学

历史 政治 生物

历史 物理 化学

历史 物理 生物

历史 化学 生物

地理 政治 物理

地理 政治 化学

地理 政治 生物

地理 物理 化学

地理 物理 生物

地理 化学 生物

政治 物理 化学

政治 物理 生物

政治 化学 生物

物理 化学 生物

共有以上20种方案

【样例说明】

【评分标准】

python 复制代码
def gen_combs(s, n):
    res = []
    for i in range(len(s)):
        for j in range(i+1, len(s)):
            for k in range(j+1, len(s)):
                res.append((s[i], s[j], s[k]))
    return res

def print_combs(cbs):
    for cb in cbs:
        print(' '.join(cb))

def main():
    s = ["历史", "地理", "政治", "物理", "化学", "生物"]
    n = 3
    cbs = gen_combs(s, n)
    print_combs(cbs)
    print(f"共有以上{len(cbs)}种方案")
main()
相关推荐
阿正呀27 分钟前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
2501_9012005342 分钟前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
_.Switch1 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
Mr_sst1 小时前
Claude Code 部署与使用保姆级教程(2026 最新)
python·ai
瞎某某Blinder1 小时前
DFT学习记录[6]基于 HES06的能带计算+有效质量计算
python·学习·程序人生·数据挖掘·云计算·学习方法
m0_495496412 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume2 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex3 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程
2301_809204703 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
2301_800976934 小时前
正则表达式
开发语言·python·正则表达式