将用户输入与字典和lis进行比较

2024-09-29 17:14:53 发布

您现在位置: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)

我试图实现的是将这两个函数结合起来,这样当调用函数时,它们就会从我的主题列表中打印出正确的索引。仅打印各自主题代码中的主题。如果科目或科目级别为空字符串,则应打印成绩记录

# 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

Tags: thekey函数in列表ifthislevel
1条回答
网友
1楼 · 发布于 2024-09-29 17:14:53

不知道为什么你想在两个功能中做这件事,因为你可以在一个功能中做。 另外,我想你不知道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}')

相关问题 更多 >

    热门问题