এটি আমার এক্স নয়, এর ওয়াইটি খুব জেড


17

এই চ্যালেঞ্জটি ফিওনা ওয়াট এবং রাহেল ওয়েলসের একাধিক ছোট বাচ্চাদের বই দ্বারা অনুপ্রাণিত হয়েছে, যা আমি সম্প্রতি আমার মেয়ের সাথে উপভোগ করেছি।

প্রতিটি বইতে একটি মাউস (চিত্রযুক্ত, তবে পাঠ্যের অংশ নয়) অভিযোগ করে যে একই ধরণের 5 টি জিনিসের উত্তরসূরি তার জিনিস নয়। এরপরে এটি ঘোষণা করে এটি সমর্থন করে যে জিনিসটির কোনও উপাদানটির প্রত্যাশিত সম্পত্তি নেই।

জিজ্ঞাসার ষষ্ঠ সময়, মাউসটি তার জিনিসটি আবিষ্কার করে এবং এতে সন্তুষ্ট হয় কারণ এতে প্রত্যাশিত সম্পত্তি রয়েছে।

এখানে একটি আদর্শ উদাহরণ পাঠ্য:

That's not my bunny, its tail is too fluffy.
That's not my bunny, its paws are too rough.
That's not my bunny, its tail is too woolly.
That's not my bunny, its eyes are too shiny.
That's not my bunny, its nose is too wrinkled.
That's my bunny! Its ears are so soft.

এখন, বেশিরভাগ প্রোগ্রামিং লোকেরা বুঝতে পারে যে এটি কিছু পাঠ্য উত্পাদন করার একটি খুব অ্যালগরিদমিক পদ্ধতি। কারণ এটি একটি পরিষ্কার প্রক্রিয়া, আমাদের কিছু কোড লিখে এটি পুনরুত্পাদন করতে সক্ষম হওয়া উচিত।

তিনটি শব্দের সংকলন দিয়ে শুরু করা যাক:

things = ["dinosaur", "lamb", "princess", "reindeer", "train"]
parts = ["back", "bells", "body", "bows", "crown", "dress", "ears",
  "engine", "fan", "flippers", "funnel", "hooves", "horns", "neck",
  "nose", "roof", "sash", "side", "spines", "spots", "tail", "teeth",
  "tiara", "wheels", "windows"]
properties = ["bumpy", "fluffy", "furry", "fuzzy", "glittery", "glossy",
  "hairy", "red", "rough", "rusty", "shiny", "silky", "slippery", 
  "soft", "sparkly", "squashy", "thick", "velvety", "woolly"]
  • প্রথমে আমরা সিদ্ধান্ত নিই যে কোন ধরণের জিনিসটি আমরা বর্ণনা করব।
  • তারপরে 5 বার, আমরা লাইনটি তৈরি করব "এটি আমার [জিনিস] নয়, এর [অংশ] খুব [সম্পত্তি]।
  • অবশেষে, আমরা লাইনটি তৈরি করি "এটি আমার [জিনিস]! এর [অংশ] এতটাই [সম্পত্তি]!

চ্যালেঞ্জ

  • একটি "এটি আমার নয় ..." গল্পের পাঠ্য তৈরি করুন।
  • এটি অবশ্যই একই লেখার ধারাবাহিকভাবে পুনরুত্পাদন করা উচিত নয়।
  • এটি কোড গল্ফ, তাই বাইটের ক্ষুদ্রতম সংখ্যায় এটি করার চেষ্টা করুন।
  • আপনি দয়া করে যে কোনও ভাষা ব্যবহার করুন।
  • সাদা স্থান কোনও বিষয় নয়, তবে লাইনগুলির মধ্যে একটি নতুন লাইন অক্ষর থাকতে হবে।
  • উত্স শব্দের তালিকাগুলি আপনার উত্তরের অংশ নয় (টিআইওতে সেগুলি শিরোনামে যোগ করা যেতে পারে)।
  • আপনি উত্স শব্দের তালিকার নাম পরিবর্তন করতে পারেন।
  • আউটপুট টার্মিনালে আউটপুট হতে পারে বা কোনও অবজেক্টে উত্পন্ন পাঠ্য।
  • একটি অনলাইন দোভাষী এর একটি লিঙ্ক অন্তর্ভুক্ত করুন।
  • বহুবচনগুলি উপেক্ষা করুন, "এর শিংগুলি ভাল" ভাল।
  • এটি বোঝার দরকার নেই। যদি আপনার রাজকন্যার ফানেল খুব ঝোঁকযুক্ত হয় তবে কেবল তাই বলুন।

নমুনা আউটপুট:

That's not my train, its engine is too rusty.
That's not my train, its hooves is too thick.
That's not my train, its sash is too fuzzy.
That's not my train, its tail is too velvety.
That's not my train, its horns is too glittery.
That's my train! Its hooves is so hairy.

শুভ গল্ফিং!


2
@ শেগি প্রথম উদাহরণটি হ'ল একটি বইয়ের আসল পাঠ্য। এটি এই চ্যালেঞ্জের জন্য কোনও বৈধ উত্তর নয়। আমি চ্যালেঞ্জকে কিছুটা সহজ করার জন্য বহুবচনগুলি উপেক্ষা করার কথা বলেছি। সেই উদাহরণটি মূলত পটভূমির তথ্য।
এজেফারাডে


10
আপনি উল্লেখ করেছেন "এটি বোঝার দরকার নেই।", এটি কি কাছাকাছি সংকোচনের ক্ষেত্রে প্রসারিত? (অর্থাত "এটি আমার খরগোশ নয়, এর চোখগুলি খুব চকচকে। ... এটি আমার বানি! এর চোখগুলি এত চকচকে।" সম্ভাব্য আউটপুট হিসাবে গ্রহণযোগ্য?) - আমি তাই অনুমান করতাম, কেবল ভেবেছিলাম আমি পরীক্ষা করে দেখব।
জোনাথন অ্যালান

13
"এটি অবশ্যই একই পাঠ্যটি ধারাবাহিকভাবে পুনরুত্পাদন করা উচিত নয়" এবং কোলমোগোরভ-জটিলতার ধরণের বেমানান?
জোসেফ সিবিল-রিইনস্টেট মনিকা

2
@ ক্রিশ এই আমার ট্যাক্সনোমিকাল ভুল ical যদিও উভয়ই গ্লায়ারস হিসাবে শ্রেণিবদ্ধ, তাই এটিই আমি আজ শিখেছি।
এজেফারাডে

উত্তর:


1

05 এ বি 1 ই , 63 বাইট

ΩU6F€Ω`XN5Qi“€Š's€¯ ÿ!€ç ÿ€ˆ€Ê ÿ.“ë“€Š's€–€¯ ÿ,€ç ÿ€ˆ…« ÿ.“}.ª,

এটি অনলাইনে চেষ্টা করুন।

68 বাইট সংস্করণ যা সদৃশ অংশ বা বৈশিষ্ট্যগুলি আউটপুট দেয় না:

ΩUε.r6£}øεXª`N5Qi“€Š's€¯ ÿ!€ç ÿ€ˆ€Ê ÿ.“ë“€Š's€–€¯ ÿ,€ç ÿ€ˆ…« ÿ.“}.ª,

এটি অনলাইনে চেষ্টা করুন।

উভয় প্রোগ্রাম হ'ল জিনিসগুলির তালিকা প্রথম ইনপুট, এবং অংশগুলির তালিকা এবং বৈশিষ্ট্যগুলির তালিকা সহ একটি তালিকা দ্বিতীয় ইনপুট।

ব্যাখ্যা:

Ω            # Pop and push a random element of the things-list
 U           # Pop and store it in variable `X`
  6F         # Loop 6 times:
    €Ω       #  Get a random element from both the parts and properties list
      `      #  Push them to the stack
       X     #  And also push variable `X`
             #  (the order on the stack is now: property, part, thing)
    N5Qi     #  If it's the last iteration:
        “€Š's€¯ ÿ!€ç ÿ€ˆ€Ê ÿ.“ 
            '#   Push dictionary string "that's my ÿ! its ÿ is so ÿ."
       ë     #  Else:
        “€Š's€–€¯ ÿ,€ç ÿ€ˆ…« ÿ.“
            '#   Push dictionary string "that's not my ÿ, its ÿ is too ÿ."
             #  (where the `ÿ` are automatically replaced with the words on the stack)
       }.ª   #  After the if-else: sentence-capitalize the strings
             #  (so the "That's " as well as the "! Its")
          ,  #  And output it with trailing newline


ΩU           # Pop and store a random thing in variable `X`
  ε          # Map the list of lists of parts/properties to:
   .r        #  Shuffle the list
     6£      #  And leave the first six elements
           # After the map: zip/transpose to create pairs of part & property
    ε        # Foreach over the pairs:
     `XN5Qi“€Š's€¯ ÿ!€ç ÿ€ˆ€Ê ÿ.“ë“€Š's€–€¯ ÿ,€ç ÿ€ˆ…« ÿ.“}.ª,
             #  And the rest of the code is the same as above

আমার এই 05AB1E ডগা দেখুন (অধ্যায় কিভাবে অভিধান ব্যবহার করতে হয়? ) কেন বুঝতে “€Š's€¯ ÿ!€ç ÿ€ˆ€Ê ÿ.“হয় "that's my ÿ! its ÿ is so ÿ."এবং “€Š's€–€¯ ÿ,€ç ÿ€ˆ…« ÿ.“হয় "that's not my ÿ, its ÿ is too ÿ."


10

পাইথন 3 , 149 বাইট

lambda a,*l:shuffle(a)or["That's "+s%(a[0],*map(choice,l))for s in["not my %s, its %s is too %s."]*5+["my %s! Its %s is so %s."]]
from random import*

এটি অনলাইন চেষ্টা করুন!

-9 বাইট মুভ্যাটিকা ধন্যবাদ


চমৎকার কাজ! খাটো টিপল সিনট্যাক্স: 149 বাইট
মুভিটিকা

1
@ মোভাটিকা ওহ, সুন্দর ধন্যবাদ!
হাইপারনিউটারিনো

"এটি আমার স্নাতকের নয়, এর কানগুলি খুব গণ্ডগোল।" - হয় / হয় মধ্যে পরিবর্তন করতে কিছু প্রয়োজন।
জন হান্ট

1
@ জন হান্ট বিধিগুলি বহুবচনগুলিকে উপেক্ষা করার জন্য বলেছে।
হাইপারনিউটারিনো

আমার ভুল. এটি v.impressive
জন হান্ট

8

কাঠকয়লা , 72 বাইট

≔‽θθF⁵«That's not my θ, its ‽η is too ‽ζ.⸿»That's my θ! Its ‽η is so ‽ζ.

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। আশা জিনিস, অংশ এবং বৈশিষ্ট্য অ্যারে ভেরিয়েবল করা θ, ηএবং ζ, যা সর্বাধিক সহজেই ইনপুট বদলে হেডারের মধ্যে প্রদানের মাধ্যমে ব্যবস্থা করা হয়। ব্যাখ্যা:

≔‽θθ

একটি এলোমেলো জিনিস চয়ন করুন।

F⁵«That's not my θ, its ‽η is too ‽ζ.⸿»

পাঁচটি নেতিবাচক বাক্য মুদ্রণ করুন।

That's my θ! Its ‽η is so ‽ζ.

ধনাত্মক বাক্যটি মুদ্রণ করুন।


6

জাপট v2.0a0 -R, 73 বাইট

ö
6Æ`Tt's {`not `pT=Y<5}my {+`!,`gT} {73dT*H}ts {Vö}  {`tÑ?`ë2!T} {Wö}.

তিন তালিকা লাগে U, Vএবং W। সেগুলি যাইহোক ডিফল্ট ইনপুট ভেরিয়েবলগুলি, সুতরাং কেবলমাত্র ইনপুট বিভাগে তিনটি তালিকা রাখুন।

চেষ্টা করে দেখুন

ö                         Saves the random object in variable U
6Æ                        Range [0..6), and map each to the following string
`That's                   The string "That's " plus
{`not `pT=Y<5}            "not " if the index is less than 5 (and store that in variable T), else ""
my                        Literal "my " plus
{+`!,`gT}                 U plus ',' if T, else '!'
{73dT*H}ts                "its " if T, else "Its "
{Vö}                      Random item from V
is                         
{`tsooo`ë2!T}             "too" if T, else "so"
{Wö}.                     Random item from V, plus a period

"খুব / তাই" :) এর সাথে খুব সুন্দর কৌশল
শেগি

6

শক্তির উৎস , 147 বাইট

এই মূল প্রোগ্রামটি কোনও দৌড়ে কোনও অংশ বা সম্পত্তি পুনরাবৃত্তি করবে না এবং যুক্তিসঙ্গত এলোমেলোকরণ রয়েছে।

$t=$l|Random
$a=$a|Random -c 6
$r=$r|Random -c 6
0..4|%{"That's not my $t, its $($a[$_]) is too "+$r[$_]}
"That's my $t! Its $($a[5]) is so "+$r[5]

এটি অনলাইন চেষ্টা করুন!

এতবার লেখার জন্য get-randomএত চরিত্রের ব্যয় হয়! যাইহোক, আপনি যদি ভাগ এবং সম্পত্তি পুনরাবৃত্তি করতে ইচ্ছুক না হন তবে আমি এটিকে আর ক্ষমতার মধ্যে সঙ্কুচিত করার উপায় দেখতে পাচ্ছি না। আপনি যদি প্রথম 3 লাইন পাইপগুলি হেডারে 3 অ্যাসাইনমেন্ট লাইনের শেষে না সরান। মত কিছু আছে

# Header
$l = ("dinosaur", "lamb", "princess", "reindeer", "train")|Get-Random
$a = ("back", "bells", "body", "bows", "crown", "dress", "ears",
  "engine", "fan", "flippers", "funnel", "hooves", "horns", "neck",
  "nose", "roof", "sash", "side", "spines", "spots", "tail", "teeth",
  "tiara", "wheels", "windows")|sort{Get-Random}
$r = ("bumpy", "fluffy", "furry", "fuzzy", "glittery", "glossy",
  "hairy", "red", "rough", "rusty", "shiny", "silky", "slippery", 
  "soft", "sparkly", "squashy", "thick", "velvety", "woolly")|sort{Get-Random}

# Main
(1..5)|%{echo("That's not my $t, its "+$a[$_]+" is too "+$r[$_])}
"That's my $t! Its "+$a[6]+" is so "+$r[6]

তবে মনে হচ্ছে এটি প্রতারণা করছে, এবং এখনও নিলের উত্তরকে পরাজিত করে না।

সম্পাদনা করুন: ম্যাটস টিপসটির জন্য ধন্যবাদ, এবং অ্যাডমবর্কবার্ককে ধন্যবাদ দেবার জন্য, get-পাঠ্যের 3 সেট সরিয়ে এটি 159 বাইটে নামিয়েছে, তারপরে অ্যাডম থেকে আরও কিছু গল্ফ এটিকে নামিয়ে 147-এ নামিয়েছে I আমি যে কোডটির কথা ভাবছিলাম তা নকলকে অনুমতি দিয়েছে এবং একই গল্ফ টিপস প্রয়োগ করার পরে পরস্পরবিরোধী বক্তব্যগুলি ছিল 144 অক্ষর

function n{(random 18)+1}
$t=$l[(n)%5]
0..4|%{"That's not my $t, its $($a[(n)]) is too "+$r[(n)]}
"That's my $t! Its $($a[$(n)]) is so "+$r[(n)]

এটি অনলাইন চেষ্টা করুন!

তবে এটি কেবল একই জিনিসকে একাধিকবার বলার প্রবণতা রাখে না, তবে এটির জন্য আপনার ইনপুটগুলির একই সংখ্যক উপাদান থাকা দরকার be আমি বিশ্বাস করি যে সিউডো এলোমেলো নম্বর জেনারেটর ব্যবহৃত হচ্ছে এটি ঘড়ির উপর নির্ভরশীল এবং এটির সাথে পুনরাবৃত্তি করা কলগুলি প্রায়শই একই ফলাফলের ফলাফল হতে পারে। তারপরে এটির শর্ত রয়েছে যে সমস্ত তালিকা একই দৈর্ঘ্যের হলে এটি কেবলমাত্র পুরো তালিকাটি ব্যবহার করে W কেবলমাত্র 3 ~ 5 অক্ষর সংরক্ষণ করা এবং এতগুলি ক্যাভেট থাকা থাকলে আমি এই পোস্টের শুরুতে কোডটি পছন্দ করি।


1
পিপিসিজিতে আপনাকে স্বাগতম! অংশ এবং বৈশিষ্ট্য পুনরাবৃত্তি করা যেতে পারে যাতে আপনার কিছু বাইট সংরক্ষণ করা উচিত।
শেগি

2
আপনি Get-থেকে ড্রপ করতে পারেন Get-Random। কমান্ডগুলি মূল্যায়নের সময় এটির ডিফল্ট ক্রিয়া পরীক্ষা করা হয়।
ম্যাট

2
স্বাগত! কিছু সহজ গল্ফ আপনাকে 147 বাইটে
অ্যাডমবর্কবর্ক


2

জাভাস্ক্রিপ্ট, 129

(a,b,c)=>(z='',a.forEach((f,i)=>z+=`That's ${q=i!=5?"not ":""}my ${f}${q?", i":"! I"}ts ${b[i]} is ${q?"to":"s"}o ${c[i]}.\n`),z)

ইনপুট তিনটি অ্যারে, রিটার্ন স্ট্রিং



2

সি # , 204 203 বাইট

()=>{int a(int x)=>new Random().Next(x);var j=t[a(5)];string s()=>$"That's not my {j}, its {p[a(25)]} is too {o[a(19)]}.\n";return s()+s()+s()+s()+s()+$"That's my {j}! Its {p[a(25)]} is so {o[a(19)]}.";};

এটি এই সাইটে আমার প্রথম উত্তর, তাই আমি আশা করি এটি ভালভাবে কাজ করে। এর জন্য এই তিনটি জিনিসও প্রয়োজন, তবে প্রশ্ন অনুসারে এগুলি গণনা করা হয় না:

   var t = new[] { "dinosaur", "lamb", "princess", "reindeer", "train" };
   var p = new[] {"back", "bells", "body", "bows", "crown", "dress", "ears",
          "engine", "fan", "flippers", "funnel", "hooves", "horns", "neck",
          "nose", "roof", "sash", "side", "spines", "spots", "tail", "teeth",
          "tiara", "wheels", "windows" };
   var o = new[] {"bumpy", "fluffy", "furry", "fuzzy", "glittery", "glossy",
          "hairy", "red", "rough", "rusty", "shiny", "silky", "slippery",
          "soft", "sparkly", "squashy", "thick", "velvety", "woolly"};

এটি অনলাইন চেষ্টা করুন!

কমকে আরও একটি বাইট ধন্যবাদ।


1
পিপিসিজিতে আপনাকে স্বাগতম! আমি আপনার উত্তরের জন্য টিআইও-র একটি লিঙ্কে সম্পাদনার স্বাধীনতা নিয়েছি , যাতে অন্যেরা সহজেই নিজের কোডটি নিজেরাই চেষ্টা করতে পারে - আমি আপনাকে এই মন্তব্যে এর লিঙ্কটি দিতাম, তবে দুর্ভাগ্যক্রমে ইউআরআই খুব দীর্ঘ ছিল! আমি আশা করি আপনি আপনার থাকার উপভোগ করেছেন: ও)
সাক

1
আপনার জন্য একটি ছোট গল্ফ - এটি \rপ্রয়োজন হয় না, যা আপনাকে 2 বাইট সংরক্ষণ করবে।
সোক

1

এপিএল (ডায়ালগ ইউনিকোড) , 117 বাইট এসবিসিএস

↑('That''s not my ',(tT⊃⍨?5),', its ')∘,¨P[5?25],¨' is too '∘,¨V[5?19]
'That''s my ',t,'! Its',P[?25],'is so',V[?19]

এটি অনলাইন চেষ্টা করুন!

?N প্রথম এন সূচকগুলির মধ্যে একটি র্যান্ডম সূচক উত্পন্ন করে।

M?N প্রথম এন সূচকগুলির মধ্যে এম র্যান্ডম সূচকগুলি (প্রতিস্থাপন ছাড়াই) উত্পন্ন করে।

, সংক্ষেপণ হয়

t←T⊃⍨... একটি এলোমেলো জিনিস বাছাই করে এবং কল করে t শেষ লাইনে পুনরায় ব্যবহারের জন্য ।

∘,¨ ডানদিকে প্রতিটি স্ট্রিংয়ের বাম দিকের স্ট্রিংটি সংযুক্ত করে।

ডানদিকে প্রতিটি স্ট্রিং বাম থেকে প্রতিটি স্ট্রাক্টকে সংযুক্ত করে।

 স্ট্রিংগুলির তালিকাটিকে একটি অক্ষর ম্যাট্রিক্সে পরিবর্তন করে যাতে এটি ডান প্রিন্ট করে।


1

পাইথ , 88 78 76 বাইট

JONj_ms.ic"That's
 my 

ts 
 is 
o 
."b[?d" not"kJ?d", i""! I"OG?d\s"to"OH)6

এটি অনলাইন চেষ্টা করুন!

উপরে উপস্থাপিত কোডটির জন্য নিম্নলিখিত শিরোনামটির প্রয়োজন:

=N["dinosaur""lamb""princess""reindeer""train")=G["back""bells""body""bows""crown""dress""ears""engine""fan""flippers""funnel""hooves""horns""neck""nose""roof""sash""side""spines""spots""tail""teeth""tiara""wheels""windows")=H["bumpy""fluffy""furry""fuzzy""glittery""glossy""hairy""red""rough""rusty""shiny""silky""slippery""soft""sparkly""squashy""thick""velvety""woolly")

পাইথের সাথে টিআইওতে 'শিরোলেখ' বৈশিষ্ট্যটি ব্যবহার করার ক্ষেত্রে একটি ছোট সমস্যা রয়েছে কারণ দেখে মনে হচ্ছে টিআইও নিউলাইনগুলিতে কোড ব্লকগুলিতে যোগদান করে এবং নিউলাইনগুলি পাইথের মধ্যে উল্লেখযোগ্য। আউটপুটে একটি জাঙ্ক লাইন সহ 'শিরোলেখ' ব্লক ব্যবহার করে একই কোডটির একটি লিঙ্ক এখানে

JONj_ms.ic"That's¶ my ¶¶ts ¶ is ¶o ¶."b[?d" not"kJ?d", i""! I"OG?d"to"\sOH)6   Newlines replaced with ¶
                                                                               Implicit: k="", b=newline
                                                                               From header: N=things, G=parts, H=properties
JON                                                                            Choose a random element from N, store in J
     m                                                                     6   Map [0-6), as d, using:
                                        ?d" not"k                                If d is truthy (i.e. not 0), yield " not", else ""
                                                 J                               J (the chosen thing)
                                                  ?d", i""! I"                   ", i" if d else "! I"
                                                              OG                 Random element from G
                                                                ?d"to"\s         "to" if d else "s"
                                                                        OH       Random element from H
                                       [                                  )      Wrap the previous 6 results in an array
         c"That's¶ my ¶¶ts ¶ is ¶o ¶."b                                          Split the template string on newlines
       .i                                                                        Interleave the template string elements with the previous list
      s                                                                          Concatenate
    _                                                                          Reverse lines
   j                                                                           Join on newlines, implicit print

সম্পাদনা করুন: পূর্ববর্তী সংস্করণ গল্ফ 10 বাইটে পুনরায় লিখুন: J+" my "ONV5%"That's not%s, its %s is too %s."[JOGOH;%"That's%s! Its %s is so %s."[JOGOH


1

পার্ল 5.10, 127 বাইট

সাথে চালাও perl -M5.010 -f filename.pl

my @t = qw(dinosaur lamb princess reindeer train);
my @r = qw(back bells body bows crown dress ears engine fan flippers funnel
           hooves horns neck nose roof sash side spines spots tail teeth tiara
           wheels windows);
my @p = qw(bumpy fluffy furry fuzzy glittery glossy hairy red rough rusty shiny
           silky slippery soft sparkly squashy thick velvety woolly);

sub r{rand@_}$a=" my $t[r@t]";say"That's not$a, its $r[r@r] is too $p[r@p]."for(1..5);say"That's$a! Its $r[r@r] is so $p[r@p]."

1

জাভাস্ক্রিপ্ট ES6, 149 (+15?) বাইট

a = ["dinosaur", "lamb", "princess", "reindeer", "train"]
b = ["back", "bells", "body", "bows", "crown", "dress", "ears",
  "engine", "fan", "flippers", "funnel", "hooves", "horns", "neck",
  "nose", "roof", "sash", "side", "spines", "spots", "tail", "teeth",
  "tiara", "wheels", "windows"]
c = ["bumpy", "fluffy", "furry", "fuzzy", "glittery", "glossy",
  "hairy", "red", "rough", "rusty", "shiny", "silky", "slippery", 
  "soft", "sparkly", "squashy", "thick", "velvety", "woolly"]

// r=x=>x[parseInt(Math.random()*x.length)] 164 for better random on fast pc

r=x=>x[new Date%x.length]
s=r(a)
g=j=>console.log(`That's ${j?`not my ${s}, its ${r(b)} is to`:`my ${s}! Its ${r(b)} is s`}o ${r(c)}.`)
a.map(g) 
g()


কোড গল্ফ স্বাগতম! ভাল কাজ!
এজেফারাডে

1
থ্যাঙ্কস এর এজে! স্বাগত প্রশংসা করুন :)
ওনিটজ

1

ব্যাচের ফাইল, 434 424 + 7 বাইট

মাধ্যমে কার্যকর করা হয়েছে cmd/q/c

কোড গণনা করা হয়নি

set a=dinosaur lamb princess reindeer train
set b=back bells body bows crown dress ears engine fan flippers funnel hoobes horns neck nose roof sash side spines spots tail teeth tiara wheels windows
set c=bumpy fluffy furry fizzy glittery glossy hair red rough rusty shiny silky slippery soft sparkly squashy thick velvety woolly

কোড গণনা

set q=random
set m=set/ar=1+%%%q%%%%%%%
call %m%5
for /f "tokens=%r%" %%x in ("%a%")do set x=%%x
:a
set/ad+=1
call %m%25
for /f "tokens=%r%" %%y in ("%b%")do set y=%%y
call %m%19
for /f "tokens=%r%" %%z in ("%c%")do echo That's not my %x%, its %y% is too %%z.
if %d% neq 5 goto a
call %m%25
for /f "tokens=%r%" %%y in ("%b%")do set y=%%y
call %m%19
for /f "tokens=%r%" %%z in ("%c%")do echo That's my %x%! Its %y% is so %%z.

আমি অবশ্যই কিছু চ্যালেঞ্জগুলির মধ্যে যাব যা আপনাকে অবশ্যই মোকাবেলা করতে হবে এবং আমি যা করেছি তার ব্যাখ্যা / ন্যায্যতা প্রমাণ করব যাতে অন্যরা উন্নতি করতে পারে।

একটি অ্যারে থেকে একটি এলোমেলো উপাদান চয়ন করুন
আমি এর মধ্যে একটি এলোমেলো সংখ্যা তৈরি করে এটি করেছি1 এবং এটির মধ্যে উপাদানগুলির পরিমাণ nকোথায় n। আমি তখন প্রতিটি forলুপ ( tokens=%r%) এ ধরার জন্য টোকেন হিসাবে এই এলোমেলো নম্বরটি ব্যবহার করেছি । যেহেতু আমি এটি এইভাবে করেছি তাই আমি এই forলুপগুলিকে আর বাসাতে পারি না, যেমনটি tokens=!r!আমার পক্ষে কাজ করছে না (দেরিযুক্ত প্রসার সহ)। টোকেনগুলি ভেরিয়েবল হিসাবে সংরক্ষণের প্রয়োজনীয়তা সরিয়ে ফেললে এটি বেশ কয়েকটি বাইট সংরক্ষণ করতে পারত (set x=%%x ) ।

এলোমেলো সংখ্যা জেনারেশন
m আমার এলোমেলো নম্বর জেনারেশন ম্যাক্রো। এইভাবে এটি করা set/ar=%random%%%n+1প্রতিটি লাইনের মতো করে 32 বাইট সাশ্রয় করে। আপনি আধা-প্রতারণা করতে পারেন এবং সিদ্ধান্ত নিতে পারেন যে টোকেনগুলি yএবং zএকই উপাদান হতে হবে:

call %m%19
for /f "tokens=%r%" %%y in ("%b%")do set y=%%y
for /f "tokens=%r%" %%z in ("%c%")do echo That's not my %x%, its %y% is too %%z.

এটি, এখনও কিছু এলোমেলোতা ধরে রাখার পরে এর চূড়ান্ত 6 উপাদানগুলি বাদ দেবে c। এটি সর্বনিম্ন 20 বাইট সংরক্ষণ করতে পারে, তবে আমি মনে করি না এটি অপের প্রয়োজনীয়তার সাথে সত্য।

তাত্ত্বিক উন্নতিগুলি
এই "সিউডো কোড" কাজ করার চেষ্টা করার সময় আমি ব্যয়গুলি সংরক্ষণ করার সময় ব্যয় করেছি:

set 1-5=echo That's not my %x%, its %y% is too %%z.
set 6=echo That's my %x%! Its %y% is so %%z.
...
set/ad+=1
for /f "tokens=%r%" %%z in ("%c%")do call %%d%%

দুর্ভাগ্যক্রমে এটির জন্য সেটআপটি অনেকগুলি বাইটকে লাভজনক বলে প্রমাণিত করছে (<144 বাইটে প্রয়োগ করতে হবে) তবে আমি এই অনুভূতিটি কাঁপতে পারি না যে কোডের শেষ 4 টি লাইন যুক্ত করা অতিরিক্ত ও জঞ্জাল।


আপনাকে প্রাক-সংজ্ঞায়িত ভেরিয়েবলের মাধ্যমে ইনপুট নেওয়ার অনুমতি নেই। আপনাকে কোনও মানক IO পদ্ধতির
জো কিং

1
@ জোকিং চ্যালেঞ্জ থেকে:The lists of source words are not part of your answer (in TIO they can be added to the header).
অ্যাডমবর্কবার্ক

আমি এটির অনুমোদন দিচ্ছি কিনা তা নিশ্চিত নই বা আমি যেমন উত্তরগুলিতে উভয়ভাবেই দেখেছি, তবে আপনারা যারা আগ্রহী তাদের জন্য এটি আমার উত্তরে ২৯ বাইট যুক্ত করবে set a=%~1ইত্যাদি ইত্যাদি
বিডিএম

1

কালি , 119 বাইট

~a=LIST_RANDOM(a)
-(l)That's{l<6: not} my {a}{l<6:, i|! I}ts {LIST_RANDOM(b)} is {l<6:to|s}o {LIST_RANDOM(c)}
{l<6:->l}

তালিকা হিসাবে সংজ্ঞায়িত

LIST a=(dinosaur),(lamb),(princess),(reindeer),(train)
LIST b=(back),(bells),(body),(bows),(crown),(dress),(ears),(engine),(fan),(flippers),(funnel),(hooves),(horns),(neck),(nose),(roof),(sash),(side),(spines),(spots),(tail),(teeth),(tiara),(wheels),(windows)
LIST c=(bumpy),(fluffy),(furry),(fuzzy),(glittery),(glossy),(hairy),(red),(rough),(rusty),(shiny),(silky),(slippery),(soft),(sparkly),(squashy),(thick),(velvety),(woolly)

এটি অনলাইন চেষ্টা করুন!


তালিকা হিসাবে কী গণনা করা হয়েছে তার উপর নির্ভর করে, অন্যান্য পন্থা রয়েছে। যদি কোনও তালিকা এমন কোনও ক্রিয়া হতে পারে যা এলোমেলোভাবে একটি তালিকা আইটেম দেয়, নিম্নলিখিত পন্থাটি কেবল 91 বাইট:

~temp t=u()
-(l)That's{l<6: not} my {t}{l<6:, i|! I}ts {p()} is {l<6:to|s}o {q()}
{l<6:->l}

(নিম্নলিখিত হিসাবে সংজ্ঞায়িত "তালিকা")

==function u
~return "{~dinosaur|lamb|princess|reindeer|train}"
==function p
~return "{~back|bells|body|bows|crown|dress|ears|engine|fan|flippers|funnel|hooves|horns|neck|nose|roof|sash|side|spines|spots|tail|teeth|tiara|wheels|windows}"
==function q
~return " {~bumpy|fluffy|furry|fuzzy|glittery|glossy|hairy|red|rough|rusty|shiny|silky|slippery|soft|sparkly|squashy|thick|velvety|woolly}."

এটি অনলাইন চেষ্টা করুন!


নিম্নলিখিত পদ্ধতির এছাড়াও আছে।

~temp t="{~dinosaur|lamb|princess|reindeer|train}"
-(l)That's{l<6: not} my {t}{l<6:, i|! I}ts {~back|bells|body|bows|crown|dress|ears|engine|fan|flippers|funnel|hooves|horns|neck|nose|roof|sash|side|spines|spots|tail|teeth|tiara|wheels|windows} is {l<6:to|s}o {~bumpy|fluffy|furry|fuzzy|glittery|glossy|hairy|red|rough|rusty|shiny|silky|slippery|soft|sparkly|squashy|thick|velvety|woolly}
{l<6:->l}

এটি অনলাইন চেষ্টা করুন!

এই দ্রষ্টব্যটি 389 বাইট, তবে যদি শিফল লিটারালগুলি (যা এই দৃশ্যে সত্যই সরানো যায় না) তালিকা সংজ্ঞা হিসাবে গণনা করা হয় এবং বাইট গণনা থেকে বাদ দেওয়া যায়, এটি 80 বাইটে নেমে আসে।


0

বাশ + অবাক, 209 বাইট

T=$(shuf $1|head -1)
join <(sed "s/.*/$T\t&/" $2) <(sed "s/.*/$T\t&/" $3)|shuf|awk 'NR<6{printf "That'\''s not my %s, its %s is too %s.\n",$1,$2,$3}NR==6{printf "That'\''s my %s! Its %s is so %s.\n",$1,$2,$3}'

এটি অনলাইন চেষ্টা করুন!

things parts propertiesপ্রতিটি প্রতিটি পছন্দসই ধরণের প্রতি লাইনে একটি আইটেম সহ একটি ফাইল যেখানে ইনপুট গ্রহণ করে ।

এটি একটি ফাইল কেন্দ্রিক পদ্ধতির। এটি আরও উন্নত করা যায় কিনা তা দেখতে পরে অ্যারে-কেন্দ্রিক পদ্ধতির চেষ্টা করতে পারি।


-2

পাইথন 3, 130 বাইট

আপনার প্রয়োজনীয়তাগুলিকে অক্ষরে অক্ষরে নিয়ে যাওয়া, এবং গাড়িতে প্রতিটি এক বাইট হয়ে ফেরত নেওয়া:

y=0
def x():
    global y
    y=1-y 
    print(("That's not my lamb, it's "+b[0:1][y]+" is too red\n")*5+"That's my lamb! Its fan is so red")

"এটি অবশ্যই একই লেখার ধারাবাহিকভাবে পুনরুত্পাদন করা উচিত নয়।" আমি যা বলতে পারি তা থেকে, আপনার কোডটি সর্বদা দুটি বিকল্পের মধ্যে একটির মধ্যে বিকল্প হবে, যা আমার কাছে ধারাবাহিক আউটপুট বলে মনে হয়। এছাড়াও, প্রতিটি একক লাইনে সর্বদা একই বৈশিষ্ট্যগুলি ব্যবহার করার ক্ষেত্রে কেস স্পেসিফিকেশনগুলিতে স্পষ্টভাবে প্রত্যাখ্যান করা হয়েছে।
মান কালি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.