フランス語の動詞の活用形をすべて印刷する


9

「er」、「ir」、または「re」(「不定詞」)のいずれかで終わる文字列を指定すると、7つの単純な時制で文字列の完全な活用形をフランス語の動詞として出力します。各時制ごとに(以下の順序で)、各主語代名詞を次の順序で出力します。jetuilellenousvousilselles ; その後にスペース、代名詞に従って動詞が活用された動詞、改行が続きます。動詞が母音(aeiou)またはhで始まる場合、jej 'になり、スペースは省略されます。

すべての例で、通常の動詞existerinvertir、およびrendreを使用して説明します。フランス語には非常に多くの不規則動詞がありますが、仕様と挑戦を容易にするために無視します。

時制

現在時制

不定詞からer / ir / reを削除し、次のエンディングを追加します。

  • erj'exist e、tu exist es、il exist e、elle exist e、nous exist ons、vous exist ez、il exists ent、elles exist ent
  • IRj'invertがあり、TU反転がある、反転IL それ、反転ELLE それ、nousが反転issons、ランデブー反転issez、ILS反転オペレーターisSent
  • reje rend s、tu rend s、il rend、elle rend(エンディングなし)、nous rend ons、vous rend ezil rend ent、elles rend ent

不完全

不定詞からer / ir / reを削除し、次のエンディングを追加します。

  • er and rej'exist ais、tu exist ais、il exist ait、elle exist ait、nous exist ion、vous exist iezil exist aient、elles exist aient
  • irj'invert issais、tu invert issais、il invert issait、elle invert issait、nous invert issions、vous invert issiez、ils invert issaient

単純な過去

不定詞からer / ir / reを削除し、次のエンディングを追加します。

  • ERj'existは TUが存在する、などの ILが存在する、エルが存在し、ヌースが存在するAMESは、ランデブーが存在するのATEは、ILSが存在èrentを ellesが存在し、èrentを
  • IRおよびJEレンドがあるのTUレンドが、ある、ILは引き裂く、それを ELLE引き裂く、それをヌースレンド、IMES、ランデブーレンドITES、ILSレンドirent、ellesレンドirent

未来

すべての動詞について、これらのエンディングを不定詞に直接追加します(ただし、re動詞はeをドロップします)。

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

条件付き

すべての動詞について、これらのエンディングを不定詞に直接追加します(ただし、re動詞はeをドロップします)。

  • j'invertir AIS、invertir TU AIS、IL invertir AIT、ELLE invertir AIT、ヌースinvertir イオン、ランデブーinvertir iez、ILS invertir aient、elles invertir aient *

現在の接続法

不定詞からer / ir / reを削除し、次のエンディングを追加します。

  • ERおよびj'exist E、TUが存在ES、イリノイが存在するE、エルが存在するE、ヌースが存在するイオン、ランデブーが存在するiez、ILSが存在ENTを、ellesが存在ENTを
  • IRj'invert ISSE反転、TU isses、IL反転ISSE、ELLE反転ISSE、nousが反転issions、ランデブー反転issiez、ILS反転オペレーターisSent、elles反転オペレーターisSent

不完全な接続法

不定詞からer / ir / reを削除し、次のエンディングを追加します。

  • ERj'exist ASSE、TUのが存在するロバ、IL用が存在する、エルが存在する、ヌースが存在するassions、ランデブーが存在するassiez、ILSが存在同意を ellesが存在し、同意を
  • IRおよびJEレンドISSE、TUは引き裂くisses、ILレンドそれ、ELLEレンドそれ、ヌースレンドissions、ランデブーレンドissiez、ILSレンドオペレーターisSent、ellesレンドオペレーターisSentを

出力例

以下のためのER動詞、allerあなたの出力は次のようになります。

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

以下のためにIR動詞、avoirあなたの出力は次のようになります。

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

以下のために再の動詞、faireあなたの出力は次のようになります。

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

(これらは上記の動詞の真の活用ではありません。実際には非常に不規則です。)

これはコードゴルフです。最短の提出が優先されます。


3
を使用mangerするfinir(entre)prendre、例としてはより良いはずですが、意図的に不規則動詞をとったように感じます:)
jonatjano

4
@jonatjano (entre)prendreも不規則です。だから多分entendre代わりに。(しかし、もしあなたがたまたまフランス語を知っているなら、現在の例はひどく見えることに同意します。)
Arnauld

3
@Arnauld私はたまたまフランス人で、それは本当に痛いです:)そして、はい、私(entre)prendreはirregullar entendreが本当に良かったのを忘れていました
jonatjano

3
私はOPが決めてもらおうけどネイティブのフランス語話者として、私は間違いなく言う@KevinCruijssen JE yoyoteではなくj'yoyote(いくつかのサイトが、後者をお勧めしますが)。
アーノールド

2
@Shaggyが仕様に問題があることを意味しているのではなく、テストケースに問題があるだけだと思います。通常の規則を不規則動詞に適用しても意味がないためです。
アーノールド

回答:


2

チャコール488276バイト

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μ⸿

オンラインでお試しください!リンクはコードの詳細バージョンです。説明:

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

非常に長い圧縮された文字列は段落に分割され、各段落は特定の動詞の終わりの終わりを表します。動詞の最後の2番目の文字に応じて、適切なエンディングが選択されます。段落は、各時制の終わりを順番に表す線に分割されます。その後、時制がループします。

F⁶

3人とその複数をループします。

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

それらの人の代名詞をループします(3番目の人には2つの性別があります)が、["j'"]必要に応じて特別な大文字小文字を区別します。

λ

代名詞を印刷します。

…θ⁻Lθ²

動詞の語幹を出力します。

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

接尾辞を印刷しますが、炭はアクセント付き文字を圧縮できないAEIため、に変換しâèîます。

⸿

新しい行を開始します。


5

JavaScript(ES6)、 507  504バイト

7時制の配列を返します。各時制は8つのフォームの配列です。

(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]]))

オンラインでお試しください!(通常の動詞)

オンラインでお試しください!(チャレンジで提案された不規則動詞を使用した文法災害)


3

Retina2051 1891バイト(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

ポイントの実装に。ここから下にゴルフしてみます。

オンラインでお試しください。

説明:

で終わるすべての単語をer0行区切り記号として処理します。

(.+)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

終わるすべての単語を処理irして、0行の区切りとして:

(.+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して、0行の区切りとして:

(.+)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後に母音または「h」が続くものを次のものに置き換えますj'

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

そして最後にゼロで分割し、基本的にすべて0のを改行で置き換えます。

S`0

その後、結果は暗黙的に出力されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.