python - 将用户输入与字典和列表进行比较
问题描述
我正在努力完成学校的作业。我需要指导来制作 2 个功能。两个函数都应该输入。第一个函数将输入与值进行比较并打印密钥。第二个将输入与列表进行比较。我想要完成的是将两者结合起来,所以当调用函数时,它们会从我的成绩列表中打印正确的索引。作业的基础是制定一个程序来跟踪学校的科目和成绩。这只是程序的一部分。
我做了下面的两个功能。
# These are the lists and dictionaries i use atm
grades = {'INFO100' : 'C','INFO102' : 'B', \
'INFO125' : 'B','INFO132' : 'A', \
'INFO180' : '' ,'INFO216' : 'A', \
'INFO282' : 'C','INFO284' : '' , \
'ECON100' : 'C','ECON110' : 'C', \
'ECON218' : '' , 'GEO100' : '' , \
'GEO113' : 'D', 'GEO124' : 'D',}
subjects = ['INFO100','INFO102','INFO125',\
'INFO132','INFO180','INFO216',\
'INFO282','INFO284','ECON100',\
'ECON110','ECON218','GEO100' ,\
'GEO113' ,'GEO124']
subject_code = {'Informatics' : 'INFO',\
'Economy' : 'ECON',\
'Geografi' : 'GEO'}
subject_level = [100,200,300,400]
def subject():
for key, value in subject_code.items():
test = input('- Subject: ')
if test == key:
currentValue = print(value)
break
level()
def level():
test2 = int(input('- Subject Level: '))
for i in emne_nivå:
if test2 == i:
pass
def grades(): #Prints all the grades.
for key, values in grades.items():
print(key, values)
我想要完成的是结合这两个函数,所以当调用函数时,它们会从我的主题列表中打印正确的索引。仅从各自的 subject_code 打印主题。如果主题或主题级别是空字符串,则应打印成绩字典。
# This should be the output if you type in both values
- Subject: Economy
- Subject Level: 200
ECON218
ECON221
# This should be the output if the values are empty
- Subject:
- Subject Level:
# This is where i would print the grades dict through a if statement.
# This is my current one
- Subject: Informatics
INFO
- Subject Level: 300
解决方案
不知道为什么要在两个函数中执行此操作,因为您可以在一个函数中执行此操作。另外,我认为您不在subject_level
列表中。
grades = {
'INFO100' : 'C',
'INFO102' : 'B',
'INFO125' : 'B',
'INFO132' : 'A',
'INFO180' : '',
'INFO216' : 'A',
'INFO282' : 'C',
'INFO284' : '',
'ECON100' : 'C',
'ECON110' : 'C',
'ECON218' : '',
'GEO100' : '',
'GEO113' : 'D',
'GEO124' : 'D'
}
subjects = [
'INFO100','INFO102','INFO125', 'INFO132','INFO180','INFO216','INFO282',
'INFO284','ECON100','ECON110','ECON218','GEO100' ,'GEO113' ,'GEO124'
]
subject_code = {
'Informatics' : 'INFO',
'Economy' : 'ECON',
'Geografi' : 'GEO'
}
def get_grade():
subject = input('- Subject: ')
level = input('- Subject Level: ')
code = subject_code[subject]
level_number = level[:1]
subject_code_level = f'{code}{level_number}'
if level_number == '' or code =='':
print(grades)
else:
for key, value in grades.items():
if key[:5] == subject_code_level:
if value == '':
print('No grade yet')
else:
print(f'Course: {key}, Grade: {value}')
推荐阅读
- python - 在Python中将2个列表中的相应元素相乘
- python - Pycharm interperter 使用了错误的路径
- jquery - 如何从屏幕顶部获取 li 的高度?
- c# - 使用powershell反向shell
- reactjs - React Js 中的丢失状态
- excel - 如何在jupyter中读取扩展名为csv的excel文件?
- javascript - CSS 等效于“DrillInNavigationTransitionInfo()”(C# - UWP)?
- git - 使用 AWS CloudFormation 克隆私有 GitHub 存储库 AWS Sagemaker NB 实例
- ios - iOS 13.4 访问 MPMusicPlayerController.systemMusicPlayer 使应用程序崩溃
- python - 使用 Levi-Civita 的矢量产品