如何从索引中找到具体的值?

2024-06-01 16:49:01 发布

您现在位置:Python中文网/ 问答频道 /正文

假设input(fag) == informasjonsvitenskaplist(FagKode)中的值一样,如果这是真的,我希望它用karak打印与INFO相关的元素的值,比如INFO100、INFO132和INFO233。如果input(fag)是økonomi,我希望它用karak打印值,代码是ECON。你知道吗

我是python新手,如果我解释不好请告诉我。你知道吗

我的下一个问题是我只打印与精确值相关的元素,比如ifinput(emnenivå) == 100,只打印INFO100和INFO132,如果input(emnenivå) == 200,只打印INFO233

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')

start()

提前感谢您的帮助:)


Tags: andforinputifallefagkarakvalg
1条回答
网友
1楼 · 发布于 2024-06-01 16:49:01

您可以使用列表理解:

karak = [['INFO100','C'],['INFO132','B'],['INFO233','C'],['ECON218','A']]

info_items = [item for item in karak if item[0].startswith("INFO")]
econ_items = [item for item in karak if item[0].startswith("ECON")]

print(info_items)
print(econ_items)

关于第二部分:如果emnenivå小于100,应该返回什么?你有两位数的信息吗?你知道吗

编辑: 要将信息与级别100或200匹配,只能使用emnenivå中的第一个数字作为区分因子。通过将第一个emnenivå数字转换为字符串并使用index=0,得到它,如下:str(emnenivå)[0]。示例代码:

emnenivå = 123
print("\nExact match for emnenivå={}:".format(emnenivå))
info_items_exact = [item for item in karak if item[0].startswith("INFO{}".format(str(emnenivå)[0]))]
print(info_items_exact)
emnenivå = 200
print("\nExact match for emnenivå={}:".format(emnenivå))
info_items_exact = [item for item in karak if item[0].startswith("INFO{}".format(str(emnenivå)[0]))]
print(info_items_exact)

相关问题 更多 >