Я пытался найти ответ по сети без каких-либо результатов.
Я пытаюсь создать систему, в которой пользователь может искать в списках и возвращать свои предметы и оценки, с фильтром, чтобы показать предметы только из одной области (например, информатика), а также фильтрует уровень предмета (если это 100lvl, 200lvl или 300lvl) Я пытался с Sub_string, но не работает должным образом.
Итак, код представления, который у меня есть (с sub_string), таков:
def finn():
global Karakterer
global Emner
print("Velg fag og/eller emnenivå (<enter> for alle)")
Fag = input("-Fag: ")
for sub_string in Emner:
if str(Fag) in sub_string:
print(*([sub_string] + ([Karakterer[sub_string]] if sub_string in Karakterer else [])))
это мои списки (конвертированные в Dicts для работы)
Emner = ["INFO100","INFO104","INFO110","INFO150","INFO125", "RELV102"]
FagKoder = [["Informasjonsvitenskap","INF"],["Kognitiv vitenskap","Kog"],
["Religionsvitenskap","REL"],["DigitalKultur","DIK"],["Økonomi","ECO"]]
Karakterer=[["INFO100","C"],["INFO104","B"],["INFO110","E"], ["RELV102","A"]]
Karakterer=dict(Karakterer)
FagKoder = dict(FagKoder)
Вот как это распечатывается сейчас, и как мне нужно, чтобы это было напечатано:
Моя проблема в том, что Sub_string dosent работает должным образом для того, что мне нужно, потому что мне нужно иметь возможность позволить пользователю выбрать область (например, INFO), а также специальный уровень (уровень 200), а затем распечатать все ИНФО предметы на уровне 200.
Но только sub_string проверяет, содержится ли строка в списке, и печатает ее.
У кого-нибудь есть лучшее решение?
надеюсь, что это имеет смысл
Спасибо!