python - 从单个问题创建多个变量
问题描述
我有一个收集学校科目类型(数学、英语、化学......)的程序,然后询问老师教这些科目的内容。这用于帮助创建学生时间表。
我有个问题
input ("What subjects are there..")
然后程序会创建一个包含所有这些主题的列表
e.g subjects = [math, english, ...]
。
然后程序会询问哪些教师与哪些科目相关联。几乎它要求一个主题并要求参与其中的老师。例如,我如何在我的程序中将数学分配给 Bob 先生和 Stacey 小姐,将英语分配给 Miss Lane 和 Ace 先生。
我唯一尝试过的是做列表并为每个科目分配一个列表中的位置,但我不知道如何为每个科目分配教师,可能有 6 个教英语,只有 2 个教数学。
解决方案
您可以尝试使用字典。使用您的示例-
dict1 ={'Math':['Mr Bob','Miss Stacey'],'English':['Miss Lane','Mr Ace']}
print(dict1['Math']) --> To access all the teachers who teach math
print(dict1['Math'][1])
如果您需要在数学中添加“史泰龙先生”,则需要根据“数学”检索值,然后编辑/附加它。
dict1['Math'].append('Mr Stallone')
dict1['Math'] = 'Mr Stallone' 不正确,只会将整个值替换为 'Math'。
如果您打算列出特定学科的教师,上述内容非常有用。如果您计划针对特定教师列出科目,您的字典将有所不同。
dict2 ={'Mr Bob':['Math','Chemistry'],'Miss Lane':['English','subject1'].....}
print(dict2['Mr Bob']) --> To access all the subjects that Mr Bob teaches
最初,您可以创建一个空字典 --> dict1={} 添加主题时,您需要添加一个空列表作为值 --> dict1['Math']=[] 当您向该主题添加教师时 - -> dict1['Math'].append['Mr champ']
推荐阅读
- c++ - 如何比较两个标准转换序列使用包含转换的等级
- java - 将布尔变量更改为 ActionEvent Java
- firebase - 如何在 Flutter 中检查来自 FireStore 的新数据
- sql - 如何查询表上不存在的行?
- javascript - “ TypeError: Cannot read property 'map' of undefined” 当我在 react 中使用迭代数组的响应列表时出现此错误
- javascript - Apollo-Client graphql 订阅来自缓存的类似字段策略读取查询
- html - 过滤包含链接的 html 表
- reactjs - React Navigation 5 props.navigation.replace("component"); 与 navigation.navigate() 工作方式相同(后退按钮仍显示在标题中)
- google-bigquery - BigQuery 在创建用户定义的函数时缺少数据集错误
- enterprise-architect - 如何使用 API 提取在 Enterprise Architect 中设置为用例之间的扩展关系的扩展点