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))
相关推荐
程序员三藏28 分钟前
Selenium无法定位元素的几种解决方案
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
前端小趴菜~时倾29 分钟前
自我提升-python爬虫学习:day04
爬虫·python·学习
小罗和阿泽30 分钟前
接口测试系列 接口自动化测试 pytest框架(三)
开发语言·python·pytest
猿界零零七8 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
不只会拍照的程序猿10 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin10 小时前
Quarto与Python集成使用
开发语言·python·markdown
Oueii11 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
2401_8318249611 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf12 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
@我漫长的孤独流浪12 小时前
Python编程核心知识点速览
开发语言·数据库·python