Drucken Sie die vollständige Konjugation eines französischen Verbs

9

Bei einer Zeichenfolge, die entweder mit "er", "ir" oder "re" (dem "Infinitiv") endet, wird die vollständige Konjugation der Zeichenfolge als französisches Verb in den sieben einfachen Zeitformen ausgegeben. Geben Sie für jede Zeitform (in der unten angegebenen Reihenfolge) jedes Subjektpronomen in der folgenden Reihenfolge aus: je , tu , il , elle , nous , vous , ils , elles ; gefolgt von einem Leerzeichen, dem nach diesem Pronomen konjugierten Verb und einer neuen Zeile. Wenn das Verb mit einem Vokal ( aeiou) oder beginnt h, wird je zu j ' und das Leerzeichen wird weggelassen.

In allen Beispielen werde ich die regulären Verben exister , invertir und rendre verwenden , um dies zu demonstrieren. Französisch hat sehr viele unregelmäßige Verben, die wir ignorieren werden, um die Spezifikation und Herausforderung zu vereinfachen.

Die Zeitformen

Gegenwart

Entfernen Sie das er / ir / re aus dem Infinitiv und fügen Sie die folgenden Endungen hinzu:

  • er : j'exist e , tu existiert es , il existiert e , elle existiert e , nous existiert ons , vous existiert ez , ils existiert ent , elles existiert ent .
  • ir : j'invert ist , tu invertieren ist , il Invertzucker es , elle Invertzucker es , nous Invertzucker issons , vous Invertzucker issez , ils Invertzucker issent .
  • re : je rend s , tu rend s , il rend, elle rend (keine Endungen), nous rend ons , vous rend ez , ils rend ent , elles rend ent .

Unvollkommen

Entfernen Sie das er / ir / re aus dem Infinitiv und fügen Sie die folgenden Endungen hinzu:

  • er und re : j'exist ais , tu exist ais , il exist ait , elle exist ait , nous exist ionen , vous exist iez , ils exist aient , elles exist aient .
  • ir : j'invert issais , tu invert issais , il invert issait , elle invert issait , nous invert issions , vous invert issiez , ils invert issaient .

Präteritum

Entfernen Sie das er / ir / re aus dem Infinitiv und fügen Sie die folgenden Endungen hinzu:

  • äh : j'exist ai , tu existieren als , il existieren a , elle existieren a , nous existieren âmes , vous existieren âtes , ils existieren èrent , elles existieren èrent .
  • ir und re : je rend is , tu rend is , il rend it , elle rend it , nous rend îmes , vous rend îtes , ils rend irent , elles rend irent .

Zukunft

Fügen Sie für alle Verben diese Endungen direkt zum Infinitiv hinzu (obwohl bei Verben das e fallen gelassen wird ):

  • j'invertir ai , tu invertir as , il invertir a , elle invertir a , nous invertir ons , vous invertir ez , ils invertir ont , elles invertir ont .

Bedingt

Fügen Sie für alle Verben diese Endungen direkt zum Infinitiv hinzu (obwohl bei Verben das e fallen gelassen wird ):

  • j'invertir ais , tu invertir ais , il invertir ait , elle invertir ait , nous invertir ionen , vous invertir iez , ils invertir aient , elles invertir aient * .

Gegenwärtiger Konjunktiv

Entfernen Sie das er / ir / re aus dem Infinitiv und fügen Sie die folgenden Endungen hinzu:

  • er und re : j'exist e , existieren tu es , il exist e , elle exist e , nous exist Ionen , vous exist iez , ils existieren ent , elles existieren ent .
  • ir : j'invert isse , tu Invertzucker isses , il Invertzucker isse , elle Invertzucker isse , nous Invertzucker issionen , vous Invertzucker issiez , ils Invertzucker issent , elles Invertzucker issent .

Unvollkommener Konjunktiv

Entfernen Sie das er / ir / re aus dem Infinitiv und fügen Sie die folgenden Endungen hinzu:

  • äh : j'exist asse , tu exist asses , il exist â t , elle exist â t , nous exist assions , vous exist assiez , ils exist assent , elles exist assent .
  • ir und re : je rend isse , tu rend isses , il rend ît , elle rend ît , nous rend issions , vous rend issiez , ils rend issent , elles rend issent .

Beispielausgabe

Für ein Er- Verb allersollte Ihre Ausgabe sein:

j'alle
tu alles
il alle
elle alle
nous allons
vous allez
ils allent
elles allent
j'allais
tu allais
il allait
elle allait
nous allions
vous alliez
ils allaient
elles allaient
j'allai
tu allas
il alla
elle alla
nous allâmes
vous allâtes
ils allèrent
elles allèrent
j'allerai
tu alleras
il allera
elle allera
nous allerons
vous allerez
ils alleront
elles alleront
j'allerais
tu allerais
il allerait
elle allerait
nous allerions
vous alleriez
ils alleraient
elles alleraient
j'alle
tu alles
il alle
elle alle
nous allions
vous alliez
ils allent
elles allent
j'allasse
tu allasses
il allât
elle allât
nous allassions
vous allassiez
ils allassent
elles allassent

Für ein ir- Verb avoirsollte Ihre Ausgabe sein:

j'avois
tu avois
il avoit
elle avoit
nous avoissons
vous avoissez
ils avoissent
elles avoissent
j'avoissais
tu avoissais
il avoissait
elle avoissait
nous avoissions
vous avoissiez
ils avoissaient
elles avoissaient
j'avois
tu avois
il avoit
elle avoit
nous avoîmes
vous avoîtes
ils avoirent
elles avoirent
j'avoirai
tu avoiras
il avoira
elle avoira
nous avoirons
vous avoirez
ils avoiront
elles avoiront
j'avoirais
tu avoirais
il avoirait
elle avoirait
nous avoirions
vous avoiriez
ils avoiraient
elles avoiraient
j'avoisse
tu avoisses
il avoisse
elle avoisse
nous avoissions
vous avoissiez
ils avoissent
elles avoissent
j'avoisse
tu avoisses
il avoît
elle avoît
nous avoissions
vous avoissiez
ils avoissent
elles avoissent

Für ein Re- Verb fairesollte Ihre Ausgabe sein:

je fais
tu fais
il fai
elle fai
nous faions
vous faiez
ils faient
elles faient
je faiais
tu faiais
il faiait
elle faiait
nous faiions
vous faiiez
ils faiaient
elles faiaient
je faiis
tu faiis
il faiit
elle faiit
nous faiîmes
vous faiîtes
ils faiirent
elles faiirent
je fairai
tu fairas
il faira
elle faira
nous fairons
vous fairez
ils fairont
elles fairont
je fairais
tu fairais
il fairait
elle fairait
nous fairions
vous fairiez
ils fairaient
elles fairaient
je faie
tu faies
il faie
elle faie
nous faiions
vous faiiez
ils faient
elles faient
je faiisse
tu faiisses
il faiît
elle faiît
nous faiissions
vous faiissiez
ils faiissent
elles faiissent

(Dies sind nicht die wahren Konjugationen der obigen Verben. In Wirklichkeit sind sie sehr unregelmäßig.)

Das ist Code Golf. Die kürzeste Einreichung gewinnt.

Lila P.
quelle
3
Ich denke , mit manger, finirund (entre)prendreals Beispiel sollte besser sein, fühlt sich an wie absichtlich Sie unregelmäßige Verben haben :)
jonatjano
4
@ Jonatjano (entre)prendreist auch unregelmäßig. Also vielleicht entendrestattdessen. (Aber ich stimme zu, dass die aktuellen Beispiele schrecklich aussehen, wenn Sie zufällig Französisch
Arnauld
3
@Arnauld Ich bin zufällig Franzose und es tut wirklich weh :) und ja, ich habe vergessen, dass (entre)prendreirregullar entendrewirklich besser ist
Jonatjano
3
@ KevinCruijssen Ich werde das OP entscheiden lassen, aber als französischer Muttersprachler würde ich definitiv eher je yoyote als j'yoyote sagen (obwohl einige Websites Letzteres vorschlagen).
Arnauld
2
Ich glaube nicht, dass @Shaggy impliziert hat, dass es ein Problem mit der Spezifikation gibt, sondern nur ein Problem mit den Testfällen - weil es wenig Sinn macht, reguläre Regeln auf unregelmäßige Verben anzuwenden.
Arnauld

Antworten:

2

Holzkohle , 488 276 Bytes

F⪪§⪪”}∨>↓⁷8lυW!M\ηX↨%]ν÷g×D\﹪3}Þ1Xζ÷S¹.m×K⦄}.}◧TI¡νυOA×∨´TE…8λ→Y×⁶⁰⟦αLi↓↶⎚⦃ω>◧‴κv≦|≕…K⊕Yλ⎇&✳⍘ςθA⪪@₂)¦Hg@»‽H2.⁵÷-⁸n¬u⊘¡″βEN≡x↔÷Wyⅈ(J\`﹪◨⁸||kU_ ←%Zσ¤«⊟Q§!χ⁰⸿¤:\`α´↖±↔5À⊗I¡o⊞⁵cp✳ιg«“/_$↖↧↧⪫,↗A”¶¶⌕er§θ±²¶F⁶F⎇›№aehiou§θ⁰κ⟦j'⟧⁺⪪§⪪”↶↥ζ⊟pW↔,⦄≡WA→÷⪫$Aⅉ⟦v⎇” 궦 «λ…θ⁻Lθ²⭆§⪪ι κ§⁺âèîμ⌕AEIμ⸿

Probieren Sie es online aus! Der Link führt zur ausführlichen Version des Codes. Erläuterung:

F⪪§⪪”...”¶¶⌕er§θ±²¶

Eine sehr lange komprimierte Zeichenfolge ist in Absätze unterteilt, wobei jeder Absatz die Endungen für eine bestimmte Verbendung darstellt. Die entsprechende Endung wird abhängig vom vorletzten Buchstaben im Verb ausgewählt. Der Absatz ist in Zeilen unterteilt, die nacheinander die Endungen für jede Zeitform darstellen. Die Zeiten werden dann durchgeschleift.

F⁶

Schleife über die drei Personen und ihre Pluralformen.

F⎇›№aehiou§θ⁰κ⟦j'⟧⁺⪪§⪪”↶↥ζ⊟pW↔,⦄≡WA→÷⪫$Aⅉ⟦v⎇” 궦 «

Schleife über die Pronomen für diese Personen (dritte Person hat zwei Geschlechter), aber ["j'"]gegebenenfalls spezielle Groß- und Kleinschreibung.

λ

Drucken Sie das Pronomen.

…θ⁻Lθ²

Drucken Sie den Verbstamm.

⭆§⪪ι κ§⁺âèîμ⌕AEIμ

Drucken Sie das Suffix aus, übersetzen Sie es jedoch AEI, âèîda Charcoal Buchstaben mit Akzent nicht komprimieren kann.

⸿

Starten Sie eine neue Zeile.

Neil
quelle
5

JavaScript (ES6),  507  504 Byte

Gibt ein Array von 7 Zeitformen zurück, wobei jede Zeitform ein Array von 8 Formen ist.

(v,[a,b]=v.split(/(..)$/),g=b>'r'?2:b<'i')=>[...S='0123456'].map(x=>'je/tu/il/elle/nous/vous/ils/elles'.split`/`.map((s,n)=>(!n*/^[aehiou]/.test(a)?"j'":s+' ')+a+(x>2&x<5?g>1?'r':b:'')+[...S+'789ABCD'].reduce((p,c)=>(l=p.split(c)).join(l.pop()),'55e91D4D3D7/s//9eC0s00tBai72AA/âm5âtes/èr1/îm5îtes8r72AA9oC/55e8483/7DeDeDeB76e65ât6i46i367DeD5îtB7D8ssCn2s22t848327BDi4Di3DA/a9/4/3/8/i7en6Ass5e/4on3ez2Ai178s88t0Dai').split`/`[(n-=n>2,n-=n>5)+('0x'+'102433656777888A99CBC'[x*3+g])*6]+['sst'[~-n/2]]))

Probieren Sie es online aus! (reguläre Verben)

Probieren Sie es online aus! (grammatikalische Katastrophe unter Verwendung der in der Herausforderung vorgeschlagenen unregelmäßigen Verben)

Arnauld
quelle
3

Retina , 2051 1891 Bytes (UTF-8)

(.+)er$
je $1e0tu $1es0il $1e0elle $1e0nous $1ons0vous $1ez0ils $1ent0elles $1ent0je $1ais0tu $1ais0il $1ait0elle $1ait0nous $1ions0vous $1iez0ils $1aient0elles $1aient0je $1ai0tu $1as0il $1a0elle $1a0nous $1âmes0vous $1âtes0ils $1èrent0elles $1èrent0je $1erai0tu $1eras0il $1era0elle $1era0nous $1erons0vous $1erez0ils $1eront0elles $1eront0je $1erais0tu $1erais0il $1erait0elle $1erait0nous $1erions0vous $1eriez0ils $1eraient0elles $1eraient0je $1e0tu $1es0il $1e0elle $1e0nous $1ions0vous $1iez0ils $1ent0elles $1ent0je $1asse0tu $1asses0il $1ât0elle $1ât0nous $1assions0vous $1assiez0ils $1assent0elles $1assent
(.+i)r$
je $1s0tu $1s0il $1t0elle $1t0nous $1ssons0vous $1ssez0ils $1ssent0elles $1ssent0je $1ssais0tu $1ssais0il $1ssait0elle $1ssait0nous $1ssions0vous $1ssiez0ils $1ssaient0elles $1ssaient0je $1s0tu $1s0il $1t0elle $1t0nous avoîmes0vous avoîtes0ils $1rent0elles $1rent0je $1rai0tu $1ras0il $1ra0elle $1ra0nous $1rons0vous $1rez0ils $1ront0elles $1ront0je $1rais0tu $1rais0il $1rait0elle $1rait0nous $1rions0vous $1riez0ils $1raient0elles $1raient0je $1sse0tu $1sses0il $1sse0elle $1sse0nous $1ssions0vous $1ssiez0ils $1ssent0elles $1ssent0je $1sse0tu $1sses0il avoît0elle avoît0nous $1ssions0vous $1ssiez0ils $1ssent0elles $1ssent
(.+)re$
je $1s0tu $1s0il fai0elle fai0nous $1ons0vous $1ez0ils $1ent0elles $1ent0je $1ais0tu $1ais0il $1ait0elle $1ait0nous $1ions0vous $1iez0ils $1aient0elles $1aient0je $1is0tu $1is0il $1it0elle $1it0nous $1îmes0vous $1îtes0ils $1irent0elles $1irent0je $1rai0tu $1ras0il $1ra0elle $1ra0nous $1rons0vous $1rez0ils $1ront0elles $1ront0je $1rais0tu $1rais0il $1rait0elle $1rait0nous $1rions0vous $1riez0ils $1raient0elles $1raient0je $1e0tu $1es0il $1e0elle $1e0nous $1ions0vous $1iez0ils $1ent0elles $1ent0je $1isse0tu $1isses0il $1ît0elle $1ît0nous $1issions0vous $1issiez0ils $1issent0elles $1issent
je ([aeiouh].+)
j'$1
S`0

Auf den Punkt Implementierung. Ich werde versuchen, von hier aus Golf zu spielen.

Probieren Sie es online aus.

Erläuterung:

Behandeln Sie alle Wörter, die mit enden er, mit einem 0Trennzeichen als Zeile:

(.+)er$
je $1e0tu $1es0il $1e0elle $1e0nous $1ons0vous $1ez0ils $1ent0elles $1ent0je $1ais0tu $1ais0il $1ait0elle $1ait0nous $1ions0vous $1iez0ils $1aient0elles $1aient0je $1ai0tu $1as0il $1a0elle $1a0nous $1âmes0vous $1âtes0ils $1èrent0elles $1èrent0je $1erai0tu $1eras0il $1era0elle $1era0nous $1erons0vous $1erez0ils $1eront0elles $1eront0je $1erais0tu $1erais0il $1erait0elle $1erait0nous $1erions0vous $1eriez0ils $1eraient0elles $1eraient0je $1e0tu $1es0il $1e0elle $1e0nous $1ions0vous $1iez0ils $1ent0elles $1ent0je $1asse0tu $1asses0il $1ât0elle $1ât0nous $1assions0vous $1assiez0ils $1assent0elles $1assent

Behandeln Sie alle Wörter, die mit enden ir, mit 0als Zeilentrennzeichen:

(.+i)r$
je $1s0tu $1s0il $1t0elle $1t0nous $1ssons0vous $1ssez0ils $1ssent0elles $1ssent0je $1ssais0tu $1ssais0il $1ssait0elle $1ssait0nous $1ssions0vous $1ssiez0ils $1ssaient0elles $1ssaient0je $1s0tu $1s0il $1t0elle $1t0nous avoîmes0vous avoîtes0ils $1rent0elles $1rent0je $1rai0tu $1ras0il $1ra0elle $1ra0nous $1rons0vous $1rez0ils $1ront0elles $1ront0je $1rais0tu $1rais0il $1rait0elle $1rait0nous $1rions0vous $1riez0ils $1raient0elles $1raient0je $1sse0tu $1sses0il $1sse0elle $1sse0nous $1ssions0vous $1ssiez0ils $1ssent0elles $1ssent0je $1sse0tu $1sses0il avoît0elle avoît0nous $1ssions0vous $1ssiez0ils $1ssent0elles $1ssent

Behandeln Sie alle Wörter, die mit enden re, mit 0als Zeilentrennzeichen:

(.+)re$
je $1s0tu $1s0il fai0elle fai0nous $1ons0vous $1ez0ils $1ent0elles $1ent0je $1ais0tu $1ais0il $1ait0elle $1ait0nous $1ions0vous $1iez0ils $1aient0elles $1aient0je $1is0tu $1is0il $1it0elle $1it0nous $1îmes0vous $1îtes0ils $1irent0elles $1irent0je $1rai0tu $1ras0il $1ra0elle $1ra0nous $1rons0vous $1rez0ils $1ront0elles $1ront0je $1rais0tu $1rais0il $1rait0elle $1rait0nous $1rions0vous $1riez0ils $1raient0elles $1raient0je $1e0tu $1es0il $1e0elle $1e0nous $1ions0vous $1iez0ils $1ent0elles $1ent0je $1isse0tu $1isses0il $1ît0elle $1ît0nous $1issions0vous $1issiez0ils $1issent0elles $1issent

Ersetzen Sie alle jegefolgt von einem Vokal oder 'h' durch j':

je ([aeiouh].+)
j'$1

Und schließlich auf Nullen aufgeteilt, die im Grunde alle 0s durch Zeilenumbrüche ersetzen:

S`0

Danach wird das Ergebnis implizit ausgegeben.

Kevin Cruijssen
quelle