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))
相关推荐
杰瑞学AI7 分钟前
Python 包管理工具 uv的一些常用指令
python·uv
请输入验证码22 分钟前
PyTorch 入门学习笔记
人工智能·pytorch·python
编程有点难35 分钟前
Python训练打卡Day35
开发语言·python
FL16238631291 小时前
[yolov11改进系列]基于yolov11引入感受野注意力卷积RFAConv的python源码+训练源码
python·yolo·cnn
不知道写什么的作者1 小时前
Python爬虫实战:抓取百度15天天气预报数据
爬虫·python·百度
程序员杰哥2 小时前
2025年软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
摸鱼界在逃劳模2 小时前
头歌之动手学人工智能-Pytorch 之autograd
人工智能·pytorch·python
攻城狮7号2 小时前
Python爬虫第22节- 结合Selenium识别滑动验证码实战
开发语言·人工智能·爬虫·python·滑动验证码·反爬虫
hvinsion2 小时前
【开源工具】跳过网页APP禁止粘贴限制:自动输入键盘模拟工具
python·开源·pynput·粘贴·文本处理·自动输入工具
不知道写什么的作者2 小时前
Python实战:打造高效通讯录管理系统
开发语言·python