|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programvara
  • Adobe Illustrator
  • animation Software
  • antivirusprogram
  • ljudprogram
  • Säkerhetskopiera data
  • Bränn CD-skivor
  • Bränn DVD
  • Data Compression
  • Database Software
  • Desktop Publishing
  • Desktop Video
  • Digital Video Software
  • Drupal
  • Educational Software
  • Engineering Software
  • Filtillägg Typer
  • Financial Software
  • Freeware , Shareware & Abandonware
  • GIMP
  • Graphics Software
  • Home Recording Software
  • Microsoft Access
  • Microsoft Excel
  • Microsoft Publisher
  • Microsoft Word
  • Open Source Code
  • Andra datorprogram
  • PC-spel
  • Photoshop
  • Portable Document Format
  • PowerPoint
  • presentationsprogram
  • Produktivitet Software
  • quicktime
  • Remote Desktop Management
  • SQL Server
  • Skype
  • Programvara betaversioner
  • Programvara Konsulter
  • Software Development Companies
  • Software Licensing
  • Spreadsheets
  • Skatt förberedelse programvara
  • Utility Software
  • Web Clip Art
  • Windows Media Player
  • Ordbehandlingsprogram
  • Facebook
  • Twitter
  • Instagram
  • LinkedIn
  • TikTok
  • WhatsApp
  • WordPress
  • Chrome
  • Discord
  • Amazon
  • * Dator Kunskap >> Programvara >> Educational Software >> Content

    Kod för studentens förutsättningar för ämnen hanteringssystem med träd?

    Denna kod använder en trädstruktur för att representera förutsättningar. Det är skrivet i Python och använder en ordbok för att representera trädet. Varje nyckel är ett kursnamn, och värdet är en lista över sina förutsatta kurser. Detta möjliggör flera förutsättningar och undviker cirkulära beroenden (till en viss grad, se begränsningar nedan).

    `` `python

    Klassförutsättningen:

    def __init __ (själv):

    self.tree ={}

    def add_course (self, course_name, förutsättningar =ingen):

    "" "Lägger till en kurs till det förutsättningen träd." "" "

    Om förutsättningar är inga:

    Förutsättningar =[]

    self.tree [course_name] =förutsättningar

    def add_prerequisite (self, course_name, förutsättning_course):

    "" "Lägger till en förutsättning till en kurs." "" "

    om kurs_namn inte i self.tree:

    self.add_course (cure_name) # Skapa kurs om det inte finns

    self.tree [court_name] .append (förutsättning_course)

    DEF CHECK_PRERE -FRÅGOR (SELF, CURROW_NAME, Accpared_Courses):

    "" "Kontrollerar om en student har slutfört förutsättningarna för en viss kurs." "" "

    om kurs_namn inte i self.tree:

    Return True # kurs finns inte, så inga förordningar

    Förutsättningar =self.tree [court_name]

    För förutsättningar i förutsättningar:

    Om Prereq inte är i slutförda_courses:

    returnera falskt

    returnera

    def get_all_courses (själv):

    "" "Returnerar en lista över alla kurser i systemet." "" "

    returlista (self.tree.keys ())

    def print_tree (self):

    "" "Skriver ut det förutsättningen i ett användarvänligt format." "" "

    För naturligtvis förutsättningar i self.tree.items ():

    Om förutsättningar:

    utskrift (f "{kurs}:{Förutsättningar}")

    annan:

    tryck (f "{kurs}:inga förutsättningar")

    Exempelanvändning

    PREREQ_TREE =PREREQUISITETREE ()

    Lägg till kurser och förutsättningar

    PREREQ_TREE.ADD_Course ("Calculus I")

    PREREQ_TREE.Add_Course ("Calculus II", ["Calculus I"])

    PREREQ_TREE.Add_Course ("Linear Algebra", ["Calculus I"])

    Prereq_tree.Add_Course ("Differential Equations", ["Calculus II", "Linear Algebra"])

    PREREQ_TREE.Add_Course ("Sannolikhet och statistik")

    PREREQ_TREE.Add_Course ("Machine Learning", ["Calculus II", "Sannolikhet &statistik"])

    Skriv ut trädet

    prereq_tree.print_tree ()

    #Checkförutsättningar

    slutförd_courses =["Calculus I", "Calculus II", "Linear Algebra"]

    tryck (f "\ ncan student ta differentiella ekvationer? {prereq_tree.check_prerequisites ('differentiella ekvationer', slutförda_courses)}")

    Avslutad_courses =["Calculus I", "Sannolikhet &statistik"]

    Tryck (F "Kan student ta maskininlärning? {PREREQ_TREE.CHECK_PREREKISITER ('MASHINE Learning', Accpared_Courses)}")

    Avslutad_courses =["Calculus I", "Sannolikhet och statistik", "Linear Algebra", "Calculus II", "Differential Equations"]

    Tryck (F "Kan student ta maskininlärning? {PREREQ_TREE.CHECK_PREREKISITER ('MASHINE Learning', Accpared_Courses)}")

    tryck (f "\ nall kurser:{prereq_tree.get_all_courses ()}")

    `` `

    Begränsningar:

    * cirkulära beroenden: Denna implementering upptäcker inte uttryckligen cirkulära beroenden (t.ex. A kräver B, och B kräver A). Att lägga till en kontroll för detta skulle kräva en mer komplex algoritm (som topologisk sortering).

    * Felhantering: Mer robust felhantering (t.ex. för ogiltiga kursnamn) kan läggas till.

    * skalbarhet: För ett mycket stort antal kurser kan en mer effektiv trädrepresentation (t.ex. att använda ett dedikerat grafbibliotek som `Networkx ') vara att föredra.

    Detta förbättrade exempel ger en mer funktionell och robust grund för ett studentförutsatt förvaltningssystem. Kom ihåg att utvidga det med mer sofistikerad felhantering, inmatningsvalidering och potentiellt ett grafiskt användargränssnitt (GUI) för en mer användarvänlig upplevelse.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man byter Läroböcker med e-böcker
    ·Låt datorn Lär ditt barn att läsa
    ·Programvara Krav för Successmaker matematiska begrepp …
    ·Vad är programvara för e-bokning?
    ·Datorer som lärande verktyg
    ·Vilken typ av programvara används på högskolor för …
    ·Hur graderar Papers
    ·Vad är priset på betygsutvecklingsprogramvara?
    ·Vilka applikationer behövs för att öppna en PDF?
    ·Hur man tränar för Systems Classroom Performance
    Utvalda artiklarna
    ·Hur man skapar en databas Court Docket
    ·Hur man skapar ett diagram i MS Access 2007
    ·Vad är det väsentliga för databasen i kalkylbladet?
    ·Hur Fade & Duplicera en teckning i GIMP
    ·Hur hyperlänk till en viss punkt i ett MS Word-dokumen…
    ·Hur konvertera digitala bilder till affischer
    ·Hur man bränner en ljud- skiva
    ·Vad är filändelsen , MPG4
    ·Hur Synkronisera ljud med MP4 Video
    ·Hur beräknar marginalerna i Excel
    Copyright © Dator Kunskap https://www.dator.xyz