如何返回与特定索引有关的值。如果价值来自输入

时间:2019-03-01 12:11:01

标签: python python-3.x

让我们说输入fag是list(FagKode)中的notifyasjonsvitenskap,如果是真的,我希望它在具有代码INFO的karak中打印值,例如INFO100,INFO132和INFO233。如果输入fag是økonomi,我希望它在karak中打印值,则代码为ECON。我也有一个函数def legg_til()。那将允许我在“ emner”列表中添加一个元素。那么问题就来了。如何使其找到与输入fag有关的值并打印特定值。 :/

print('\nVelkommen til karakterprogrammet Infinitux\n')
print('----------------------------')

print('1: Emneliste','2: Legg til emne','3: Sett karakter','4: Karaktersnitt','5: Avslutt',sep='\n')
print('----------------------------')

emner = ['INFO100','INFO132','INFO233']
FagKode = [['informasjonsvitenskap','INFO'],['økonomi','ECON']]
karak = [['INFO100','C'],['INFO132','B'],['INFO233','C'],['ECON218','A']]


def start():
    global meny
    global fag
    meny = int(input('Tast inn ønsket valg (press 0 for meny): '))

    if meny == 1:
      valg_fag = input('Press Enter for å velge fag/emner (Skriv "alle" for å vise alle fag/emner)\n: ')

    if meny == 1 and valg_fag == 'alle':
      for i in karak:
        print(*i)

    elif meny == 1 and valg_fag == '':
      fag = input('- Fag: ')
      emnenivå = int(input('- Nivå: '))
      try:
        if fag in FagKode[0] and emnenivå in range(1,1000):
          ???????
          ???????
        else:
          print('Du har gjort noe feil!')
      except ValueError:
          print('NEI')


def legg_til():
    global meny
    global fag
    if meny == 2:
      add = input('Nytt emne:  ')
      emner.append(add.upper())


def karakter(): # Sletter/Setter ny karakter
    global meny
    if meny == 3:
      valg_emne = input('Emne: ')
      slett = input('Karakter (<enter> for å slette): '+karak==valg_emne)


    if meny == 3 and valg_emne in emner and slett == '':
      for i in range(len(karak)):
        if karak[i][0] == valg_emne:
          del karak[i][1]
        start()

    if meny == 3 and valg_emne in emner:
      pass

    if meny == 3 and valg_emne in emner and slett == 'HEI':
      for i in range(len(karak)):
        if karak[i][0] == valg_emne:
          print(karak[i][1])

def snitt():
  pass


def programslutt():
  global meny
  if meny == 5:
    print('Takk for nå, velkommen igjen!')
  else:
    ('Feil verdi')


start()
legg_til()
karakter()
programslutt()

提前感谢您的意见:)

1 个答案:

答案 0 :(得分:0)

尝试一下。 将变量 FagKode karak 设为字典。

并尝试获取如下值。

return karak.get(FagKode.get(input(fag)))

或此列表。

for i, j in FagKode:
    if i==input(fag):
        for k, l in karak:
            if k==j:
                return l
return "Not Found"