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()
相关推荐
蓝创工坊Blue Foundry10 分钟前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
bug嘛我经常写14 分钟前
如何批量删除word文档中存在的无用样式
经验分享·python·word
5G微创业35 分钟前
Python / Node.js 调用短视频去水印 API 完整示例(含 SDK)
python·node.js·音视频·api·sdk·短视频
phltxy1 小时前
LangGraph智能租房助手实践
大数据·人工智能·python·深度学习·语言模型·langchain
码银1 小时前
放弃了豆包,我使用Python做了一个桌面宠物
python·microsoft·宠物
测功机之家1 小时前
国内口碑好的测功机公司找哪家
python·物联网
xlrqx2 小时前
2026年平顶山家电清洗培训设备是否齐全依据多因素来判断
大数据·python
summer_du2 小时前
Qdrant
人工智能·python
logomister设计公司阿燕2 小时前
华为商标“减法哲学”:极简主义如何成就全球品牌?
python·华为
萧青山2 小时前
2026国标合规:Agent Loop合规设计模式的6种循环架构(GB/Z 185.6+Python)
python·设计模式·agent loop·gb/z 185·国标合规