In chia động từ đầy đủ của một động từ tiếng Pháp


9

Cho một chuỗi kết thúc bằng "er", "ir" hoặc "re" ("nguyên bản"), xuất ra cách chia đầy đủ của chuỗi dưới dạng một động từ tiếng Pháp trong bảy thì đơn giản. Đối với mỗi thì (theo thứ tự được đưa ra dưới đây), xuất ra mỗi đại từ chủ ngữ theo thứ tự sau: je , tu , il , elle , nous , vous , ils , elles ; theo sau là một khoảng trắng, động từ được chia theo đại từ đó và một dòng mới. Nếu động từ bắt đầu bằng nguyên âm ( aeiou) hoặc h, je trở thành j ' và khoảng trắng bị bỏ qua.

Trong tất cả các ví dụ, tôi sẽ sử dụng các động từ thông thường exister , invertirrender để thể hiện. Tiếng Pháp có rất nhiều động từ bất quy tắc, mà chúng ta sẽ bỏ qua để làm cho đặc tả và thách thức dễ dàng hơn.

Các thì

Thì hiện tại

Loại bỏ er / ir / re khỏi nguyên bản và thêm các kết thúc sau:

  • er : j'exist e , tu tồn tại es , il tồn tại e , elle tồn tại e , tồn tại nous ons , vous tồn tại ez , ils tồn tại ent , Elles tồn tại ent .
  • ir : j'invert is , tu invert is , il invert it , elle invert it , nous invertonsons , vous invert issez , ils invertentent .
  • re : je render s , tu render s , il render, elle render (không có kết thúc), nous render ons , vous render ez , ils render ent , elles render ent .

Không hoàn hảo

Loại bỏ er / ir / re khỏi nguyên bản và thêm các kết thúc sau:

  • erre : j'exist ais , tu tồn ais , il tồn tại ait , elle tồn tại ait , nous tồn tại các ion , vous tồn tại iez , ils tồn tại aient , elles tồn tại aient .
  • ir : j'invert issais , tu invertaisais , il invert issait , elle invert issait , nous invertionions , vous invertieiez , ils invertaientent .

Quá khứ đơn

Loại bỏ er / ir / re khỏi nguyên bản và thêm các kết thúc sau:

  • er : j'exist ai , tu tồn tại như , il tồn tại một , elle tồn tại một , tồn tại nous Ames , tồn tại vous ATES , ils tồn tại èrent , Elles tồn tại èrent .
  • irre : je render is , tu render is , il render it , elle render it , nous render îmes , vous render îtes , ils render irent , elles render irent .

Tương lai

Đối với tất cả các động từ, hãy thêm các kết thúc này trực tiếp vào phần nguyên thể (mặc dù các động từ lại bỏ 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 .

Có điều kiện

Đối với tất cả các động từ, hãy thêm các kết thúc này trực tiếp vào phần nguyên thể (mặc dù các động từ lại bỏ e ):

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

Thì hiện tại giả định

Loại bỏ er / ir / re khỏi nguyên bản và thêm các kết thúc sau:

  • erre : j'exist e , tu tồn es , il tồn tại e , elle tồn tại e , nous tồn tại các ion , vous tồn tại iez , ils tồn tại ent , elles tồn tại ent .
  • ir : j'invert isse , tu inverteses , il invert isse , elle invert isse , nous invertionions , vous invertieiez , ils invertentent , elles invertentent .

Khuất phục không hoàn hảo

Loại bỏ er / ir / re khỏi nguyên bản và thêm các kết thúc sau:

  • er : j'exist Asse , tu tồn tại mông , il tồn tại tại , tồn tại elle tại , tồn tại nous assions , vous tồn tại assiez , ils tồn tại sự tán thành , Elles tồn tại sự đồng ý .
  • irtái : je Rend Isse , tu Rend isses , il Rend , elle Rend , Rend nous issions , vous Rend issiez , ils Rend issent , Elles Rend issent .

Sản lượng mẫu

Đối với một động từ eraller , đầu ra của bạn phải là:

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

Đối với một động từ iravoir , đầu ra của bạn phải là:

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

Đối với một động từ refaire , đầu ra của bạn phải là:

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

(Đây không phải là cách chia động từ thực sự của các động từ trên. Trong thực tế, chúng rất bất thường.)

Đây là mã golf. Bài nộp ngắn nhất sẽ thắng.


3
Tôi nghĩ rằng việc sử dụng manger, finir(entre)prendrenhư ví dụ sẽ tốt hơn, cảm giác như bạn cố tình dùng động từ bất quy tắc :)
jonatjano

4
@jonatjano (entre)prendrelà không thường xuyên là tốt. Vì vậy, có thể entendrethay thế. (Nhưng tôi đồng ý rằng các ví dụ hiện tại trông thật tồi tệ nếu bạn tình cờ biết tiếng Pháp.)
Arnauld

3
@Arnauld Tôi tình cờ trở thành người Pháp và điều đó thực sự rất đau :) và vâng tôi quên (entre)prendrelà irregullar entendrethực sự tốt hơn
jonatjano

3
@KevinCruijssen Tôi sẽ để OP quyết định nhưng với tư cách là một người nói tiếng Pháp bản địa, tôi chắc chắn sẽ nói je yoyote chứ không phải j'yoyote (mặc dù một số trang web có đề xuất sau).
Arnauld

2
Tôi không nghĩ rằng @Shaggy ngụ ý rằng có vấn đề với thông số kỹ thuật, mà chỉ là vấn đề với các trường hợp kiểm tra - bởi vì có rất ít điểm trong việc áp dụng quy tắc thông thường cho các động từ bất quy tắc.
Arnauld

Câu trả lời:


2

Than , 488 276 byte

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

Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã. Giải trình:

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

Một chuỗi nén rất dài được chia thành các đoạn, mỗi đoạn đại diện cho các kết thúc cho một động từ cụ thể kết thúc. Kết thúc thích hợp được chọn tùy thuộc vào chữ cái cuối cùng thứ hai trong động từ. Đoạn văn được chia thành các dòng đại diện cho các kết thúc cho từng thì lần lượt. Các thì sau đó được lặp đi lặp lại.

F⁶

Vòng qua ba người và số nhiều của họ.

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

Lặp lại các đại từ cho những người đó (người thứ ba có hai giới tính), nhưng đặc biệt ["j'"]khi cần thiết.

λ

In đại từ.

…θ⁻Lθ²

In thân động từ.

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

In hậu tố, nhưng dịch AEIthành âèîChar than không thể nén các chữ cái có dấu.

⸿

Bắt đầu một dòng mới.


5

JavaScript (ES6),  507  504 byte

Trả về một mảng gồm 7 thì, trong đó mỗi thì là một mảng gồm 8 dạng.

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

Hãy thử trực tuyến! (động từ thông thường)

Hãy thử trực tuyến! (thảm họa ngữ pháp sử dụng các động từ bất quy tắc được đề xuất trong thử thách)


3

Võng mạc , 2051 1891 byte (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

Để thực hiện điểm. Sẽ cố gắng đánh golf nó từ đây.

Hãy thử trực tuyến.

Giải trình:

Xử lý tất cả các từ kết thúc bằng er, bằng 0dấu phân cách dòng:

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

Xử lý tất cả các từ kết thúc bằng ir, với 0dấu phân cách dòng:

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

Xử lý tất cả các từ kết thúc bằng re, với 0dấu phân cách dòng:

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

Thay thế tất cả jetheo sau bằng một nguyên âm hoặc 'h' bằng j':

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

Và cuối cùng phân chia trên các số 0, về cơ bản thay thế tất cả các 0s bằng các dòng mới:

S`0

Sau đó, kết quả là đầu ra ngầm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.