python代码,某学院电信科专业有四个年级(2018,2019,2020,2021),每个年级有三个自然班(01,02,03), 每个自然班有40名学生,每个学生的信息包括:学号(stid)、姓名(stname)、班级名(bjname), 及高等数学(math)、英语(eng)、计算机(compu)三门课程的成绩,设计一个字典数据对象 stdic,包含四个年级所有自然班的学生,要求能够通过字典键-值的映射,可以直接访 问任一自然班任一学生的任一信息数据。 数据源:要求导入faker及random库,通过列表推导式生成学号、姓名、班级 名,每名学生的学号为10位数字,1-4位是入学年度,5-6位是学院专业编号,7-8位 是同年级专业班级编号,9-10位是班级学生的序号。
时间: 2023-04-10 11:04:39 浏览: 78
stdic = {}
for year in range(2018, 2022):
for class_num in range(1, 4):
for student_num in range(1, 41):
stid = str(year) + str(2) + str(class_num).zfill(2) + str(student_num).zfill(2)
stname = faker.name()
bjname = str(year) + "级电信科" + str(class_num).zfill(2) + "班"
math = random.randint(60, 100)
eng = random.randint(60, 100)
compu = random.randint(60, 100)
stdic[stid] = {"stname": stname, "bjname": bjname, "math": math, "eng": eng, "compu": compu}
# 访问任一自然班任一学生的任一信息数据
print(stdic["2018020101"]["stname"]) # 访问学号为2018020101的学生的姓名
print(stdic["2019020205"]["math"]) # 访问学号为2019020205的学生的高等数学成绩
相关问题
制作一个个人网站python代码至少有四个栏目。
好的,制作一个个人网站的 Python 代码至少需要四个栏目,可以使用 Flask 框架来实现。以下是一个简单的示例代码:
```python
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/about')
def about():
return render_template('about.html')
@app.route('/blog')
def blog():
return render_template('blog.html')
@app.route('/contact')
def contact():
return render_template('contact.html')
if __name__ == '__main__':
app.run(debug=True)
```
在这个示例代码中,我们使用 Flask 框架来创建了四个路由,分别对应着四个栏目:首页、关于、博客和联系我们。每个路由都返回了一个 HTML 模板,这些模板可以在 templates 文件夹中创建。当用户访问这些路由时,Flask 会自动渲染对应的模板并返回给用户。
用python完成某学院电信科专业有四个年级(2018,2019,2020,2021),每个年级有三个自然班(01,02,03), 每个自然班有 40 名学生,每个学生的信息包括:学号(stid)、姓名(stname)、班级名(bjname), 及高等数学(math)、英语(eng)、计算机(compu)三门课程的成绩,设计一个字典数据对象 stdic,包含四个年级所有自然班的学生,要求能够通过字典键-值的映射,可以直接访 问任一自然班任一学生的任一信息数据。 数据源:要求导入 faker 及 random 库,通过列表推导式生成学号、姓名、班级 名,每名学生的学号为 10 位数字,1-4 位是入学年度,5-6 位是学院专业编号,7-8 位 是同年级专业班级编号,9-10 位是班级学生的序号。三门课程的成绩可使用 random 库的子库从[40,100]范围内随机抽取。
可以回答这个问题。以下是用 Python 设计的字典数据对象 stdic:
```python
from faker import Faker
import random
fake = Faker()
stdic = {}
for year in range(2018, 2022):
stdic[year] = {}
for bjname in range(1, 4):
bjname_str = str(bjname).zfill(2)
stdic[year][bjname_str] = {}
for i in range(1, 41):
stid = str(year) + '0' + str(random.randint(1, 4)) + bjname_str + str(i).zfill(2)
stname = fake.name()
math = random.randint(40, 100)
eng = random.randint(40, 100)
compu = random.randint(40, 100)
stdic[year][bjname_str][stid] = {'stname': stname, 'bjname': bjname_str, 'math': math, 'eng': eng, 'compu': compu}
```
这个字典数据对象 stdic 包含了四个年级所有自然班的学生信息,可以通过以下方式访问任一自然班任一学生的任一信息数据:
```python
# 访问 2018 年 1 班第 1 个学生的姓名
stdic[2018]['01']['2018010101']['stname']
# 访问 2019 年 2 班第 20 个学生的计算机成绩
stdic[2019]['02']['2019020020']['compu']
```