5 দিনের আবহাওয়ার পূর্বাভাস


21

আবহাওয়ার পূর্বাভাস: খুব প্রায়ই নির্ভর করা ভুল, ডান খুব প্রায়ই উপেক্ষা করা উচিত।

একটি উচ্চ এবং নিম্ন তাপমাত্রা এবং প্রতিদিন চারটি আবহাওয়ার অবস্থার মধ্যে একটি দেওয়া, একটি ASCII- আর্ট গ্রাফিকাল পাঁচ দিনের আবহাওয়ার পূর্বাভাস দেয় output চারটি গ্রাফিকাল সূচকগুলির কাঠামো নীচে দেখানো হয়েছে।

 \ /
 -O-       Sunny
 / \


\ /
-O(==)     Partly Cloudy
(====)


  (==)     Cloudy
(====)


  (==)
(====)     Rainy
/////

পূর্বাভাসের চার্টটি নিম্নরূপ: প্রতিটি গ্রাফিকাল সূচকটি চার্ট জুড়ে 5 টি বাক্স সহ তার নিজস্ব 9x5 বাক্সকে কেন্দ্র করে। প্রতিটি বাক্স |অক্ষর দ্বারা পৃথক করা হয় । গ্রাফিকাল সূচকটির নীচে MON, TUE, WED, THU, FRI, SAT, SUNতার নিজস্ব 9x1 বাক্সকে কেন্দ্র করে সপ্তাহের দিন ( ) এর জন্য একটি তিন অক্ষরের সংক্ষেপণ রয়েছে । তাপমাত্রা তাদের নিজস্ব 9x2 বাক্সকে কেন্দ্র করে সপ্তাহের দিনের নীচে থাকে। একটি উদাহরণ নীচে প্রদর্শিত হয়।

---------------------------------------------------
|         |         |         |         |         |
|    (==) |    (==) |  \ /    |   \ /   |   \ /   |
|  (====) |  (====) |  -O(==) |   -O-   |   -O-   |
|         |  /////  |  (====) |   / \   |   / \   |
|         |         |         |         |         |
---------------------------------------------------
|   MON   |   TUE   |   WED   |   THU   |   FRI   |
---------------------------------------------------
|  H 75   |   H 69  |  H 77   |   H 80  |  H 85   |
|  L 57   |   L 53  |  L 61   |   L 63  |  L 66   |
---------------------------------------------------

নোট করুন যে "কেন্দ্রিক" আলগাভাবে নেওয়া যেতে পারে - উদাহরণে দেখুন কীভাবে গ্রাফিকাল সারিবদ্ধকরণ এবং তাপমাত্রা অনুভূমিক প্রান্তিককরণ কিছুটা নমনীয় হয়।

উপরন্তু, যেহেতু আমি মার্কিন থেকে এসেছি এবং সেইজন্য ফারেনহাইট ব্যবহার করেন, আপনি নিরাপদে অনুমান করতে পারেন তাপমাত্রা, সব ডবল অঙ্ক তাই 9 < t < 100

আই / ও এবং বিধি

এখানে I / O উদাহরণগুলি উপরের উদাহরণের চার্টের প্রদর্শক।

  • ইনপুট যে কোনও যুক্তিসঙ্গত বিন্যাসে এবং যে কোনও সুবিধাজনক পদ্ধতিতে নেওয়া যেতে পারে । উদাহরণস্বরূপ,
    ১) আপনি সপ্তাহের দিনগুলি, উচ্চ এবং নিম্ন তাপমাত্রা এবং চারটি শর্তের জন্য সংখ্যা ব্যবহার করতে পারেন এবং পাঁচটি টিউপস হিসাবে ইনপুট নিতে পারেন, [0, 75, 57, 2], [1, 69, 53, 3], ...
    ২) আপনি শব্দ ব্যবহার করে পাঁচটি টিপল হিসাবে ইনপুট নিতে পারেন, ['MON', 75, 57, 'CLOUDY'], ['TUE', 69, 53, 'RAINY'] ...
    3) আপনি প্রথম দিন হিসাবে ইনপুট নিতে পারেন এবং উচ্চ তাপমাত্রার একটি তালিকা, নিম্ন তাপমাত্রার একটি তালিকা, এবং অবস্থার তালিকা, যেমন 1, [75, 69, ...], [57, 53, ...], [2, 3, ...]
    4) ইত্যাদি take

  • শীর্ষস্থানীয় / পিছনের নিউলাইনগুলি বা অন্যান্য শ্বেতস্পেস optionচ্ছিক, যদি অক্ষরগুলি যথাযথভাবে সরে যায়।

  • হয় একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন গ্রহণযোগ্য। যদি কোনও ফাংশন হয় তবে আপনি আউটপুটটি মুদ্রণের পরিবর্তে ফিরিয়ে দিতে পারেন।
  • আউটপুট কনসোলে থাকতে পারে, স্ট্রিংগুলির তালিকা হিসাবে ফিরে আসে, একক স্ট্রিং হিসাবে ফিরে আসে ইত্যাদি can
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • এটি তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয় এবং সংক্ষিপ্ততম কোড (বাইটে) জয়ী হয়।

11
1 F ಠ_ಠ ব্যবহারের জন্য -1
betseg

6
এটি মার্কিন যুক্তরাষ্ট্রে আমার রাজ্যের জন্য কাজ না করার জন্য -1 (এটি আজ 9 ডিগ্রি ফারেনহাইট)।
ম্যাজিক অক্টোপাস আরন

@ ম্যাজিক অ্যাক্টোপাস ইউরান আমি অনুমান করি যে এই কর্মসূচির বাইরেও কাজ করে এমন প্রোগ্রামগুলিও গৃহীত হবে।
পাওলো ইবারম্যান

উত্তর:


5

ইমোজিকোড , 1202 974 বাইট

🍇a🍨🐚🍨🐚🚂🍮f🔷🍨🐚🍨🐚🔡🐸🍦D🍨🔤 MON  🔤🔤 TUE  🔤🔤 WED  🔤🔤 THU  🔤🔤 FRI  🔤🔤 SAT  🔤🔤 SUN  🔤🍆🍮f🍨🍨🔤 / \  🔤🔤 \ /  🔤🔤 -O-  🔤🍆🍨🔤(====)🔤🔤\ /   🔤🔤-O(==)🔤🍆🍨🔤      🔤🔤  (==)🔤🔤(====)🔤🍆🍨🔤///// 🔤🔤  (==)🔤🔤(====)🔤🍆🍆🍦l🔤 ---------------------------------------------------🔤🍦u🔤      🔤🍦s🔤 |  🔤🍦S🔤  |   🔤🍦w🍨🔤🔤🔤🔤🔤H 🔤🔤L 🔤🍆😀l🍦L🍪s u s u s u s u s u s🍪😀L🍮o🔤🔤🔂i⏩-2 4🍇🍮o s🍊◀️1i🍇🍮o🍪s🔤 🔤🍪🍉🔂j⏩0 5🍇🍊▶️1i🍇🍮o🍪o🍺🐽🍺🐽f🍺🐽🍺🐽a j 0i s🍪🍉🍋◀️1i🍇🍮o🍪o🍺🐽w i🔡🍺🐽🍺🐽a j i 10S🍪🍉🍓🍇🍮o🍪o🍺🐽D🍺🐽🍺🐽a j 1 s🍪🍉🍉😀o🍊🎉😛0i😛1i🍇🍊😛0i🍇😀L🍉😀l🍉🍉😀l🍉

condition day high lowশর্তটি 0 থেকে 4 এর মধ্যে পূর্ণসংখ্যা যেখানে বিন্যাসে পূর্ণসংখ্যার তালিকার তালিকা হিসাবে ইনপুট নেয় input অনলাইনে চেষ্টা করে দেখুন!


4

জাভাস্ক্রিপ্ট (ES8), 304 263 222 বাইট

5 একটি অ্যারে হিসাবে ইনপুট লাগে [w,d,h,l]এন্ট্রি, যেখানে একটি স্ট্রিং হিসাবে এবং দিন W , , (0-ইন্ডেক্স, 0 = হাসিখুশি সঙ্গে) আবহাওয়া প্রতিনিধিত্বমূলক পূর্ণসংখ্যা, উচ্চ তাপমাত্রা এবং কম তাপমাত্রা যথাক্রমে। স্ট্রিংগুলির একটি অ্যারে প্রদান করে।

a=>',0,04,05,06,0,,01,,0H 2,0L 3,'.split`,`.map(s=>(s=a.map(p=>s.replace(/\d/g,n=>+n?p[n]||'  (==),(====),/////,\\ /,-O(==), \\ /, -O-, / \\,'.split`,`['765143810210'[p[0]*3-n+6]]:'|  ').padEnd(10,' -'[+!s])).join``)+s[0])

ডেমো

কিভাবে?

আমরা সংজ্ঞায়িত করি:

  • L = ',0,04,05,06,0,,01,,0H 2,0L 3,'.split(',')

    বোর্ডের প্রতিটি লাইন বর্ণনা করে এমন স্ট্রিংয়ের একটি অ্যারে, এতে:

    • 0 = উপসর্গ স্ট্রিং: "| "
    • 1 = সপ্তাহের দিন
    • 2 = উচ্চ তাপমাত্রা
    • 3 = নিম্ন তাপমাত্রা
    • 4 = গ্রাফিকাল সূচক শীর্ষ প্যাটার্ন
    • গ্রাফিকাল সূচকটির 5 = মাঝারি প্যাটার্ন
    • 6 = গ্রাফিকাল সূচক নীচের প্যাটার্ন
  • W = ' (==),(====),/////,\\ /,-O(==), \\ /, -O-, / \\,'.split(',')

    গ্রাফিকাল সূচকগুলির নিদর্শনগুলি বর্ণনা করে এমন একটি স্ট্রিং।

  • P = '765143810210'

    প্রতিটি গ্রাফিকাল সূচকটির জন্য ডাব্লু-তে নিদর্শনগুলির সূচকগুলি বর্ণনা করে এমন একটি স্ট্রিং , 3 দ্বারা বিভাজনযুক্ত এবং বিপরীত ক্রমে সঞ্চিত।

মূল ফাংশনটি এখন এই হিসাবে পড়ে:

a => L.map(s =>                   // for each substring s in L
  (s = a.map(p =>                 //   for each array of parameters p in a:
    s.replace(                    //     replace in s
      /\d/g, n =>                 //       each digit n with:
        +n ?                      //         if n is non-zero:
          p[n] ||                 //           the n-th parameter in p, if defined
          W[P[p[0] * 3 - n + 6]]  //           or a graphical indicator pattern
        :                         //         else:
          '|  '                   //           the prefix string '|  '
    )                             //     end of replace()
    .padEnd(10, ' -'[+!s])        //     pad the result with either spaces or '-'
  ).join``)                       //   end of inner map(); join the results and save in s
  + s[0]                          //   append the first character
)                                 // end of outer map()

3

কাঠকয়লা , 110 94 বাইট

↑χF⁵«Nθ↘→↘P⎇θ⁺⁺⎇⊖θ  ¦\ /¶-o“⎇)D№⸿≡⬤»”×/×⁵⁼賓2⸿φ*EC+@OΠ≦”M¹¦⁵PS¶¶EHL⁺⁺κ SM⁶±¹↑χ»F6231«P←⁵¹MIι↓

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। সম্পাদনা: মেঘ পুনরাবৃত্তি এড়িয়ে 16 বাইট সংরক্ষণ করা। ব্যাখ্যা:

↑χ

এর বাম-হাতের কলামটি মুদ্রণ করুন |

F⁵«

পাঁচ দিন ধরে লুপ করুন।

Nθ

প্রশ্নের মতো একই ক্রম ব্যবহার করে 0 থেকে 3 নম্বরযুক্ত আবহাওয়ার অবস্থাটি ইনপুট করুন।

↘→↘P⎇θ

আবহাওয়ার অবস্থা যদি রোদ না থাকে:

⁺⁺⎇⊖θ  ¦\ /¶-o

আবহাওয়ার অবস্থা আংশিক মেঘলা থাকলে আংশিক সূর্য মুদ্রণ করুন।

“⎇)D№⸿≡⬤»”

একটি মেঘ মুদ্রণ করুন।

×/×⁵⁼θ³

আবহাওয়া যদি বৃষ্টি হয় তবে মুদ্রণ করুন।

“2⸿φ*EC+@OΠ≦”

অন্যথায় সূর্য মুদ্রণ করুন।

M¹¦⁵PS

দিন পড়ুন এবং মুদ্রণ করুন।

¶¶EHL⁺⁺κ S

লুপ ওভার এবং ইনপুট এবং তাপমাত্রা মুদ্রণ করুন।

M⁶±¹↑χ»

এর পরবর্তী কলামটি মুদ্রণ করুন |

F6231«

লুপ অক্ষর উপর 6, 2, 3এবং 1

P←⁵¹

এর একটি সারি মুদ্রণ করুন -

MIι↓

পূর্ণসংখ্যার জন্য অক্ষরটি কাস্ট করুন এবং পরবর্তী সারিতে মুদ্রণের জন্য প্রস্তুত সরাতে।


2

পাইথন 3, 636 610 534 464 379 বাইট

def w(s,l,h,a):
 g='|';A='   ';p,q,r=[A+'\ /'+A,'  \ / '+A,A+' (==) ',A+' (==) '],[A+'-O-'+A,'  -O(==) ','  (====) ','  (====) '],[A+'/ \\'+A,'  (====) ',A*3,'  /////  '];n='-'*51;R=n,;w=x=y=z=''
 for e in s:x+=g+p[e];y+=g+q[e];z+=g+r[e];w+=g+A*3
 R+=x+g,y+g,z+g,w+g;x=u=v=''
 for i in range(5):x+=g+a[i];v+='|  H '+h[i]+A;u+='|  L '+l[i]+A
 print('\n'.join(R+(x+g,n,u+g,v+g,n)))  

ইনপুট ফর্ম্যাট: - প্রথম তালিকায় আবহাওয়া পরিস্থিতি দিন অনুযায়ী হয় -
0 - রৌদ্রোজ্জ্বল
1 - আংশিক মেঘলা
2 - মেঘলা
3 - বৃষ্টি ।

দ্বিতীয় এবং তৃতীয় তালিকার যথাক্রমে সর্বোচ্চ এবং সর্বনিম্ন তাপমাত্রা লাগে (স্ট্রিং হিসাবে)। চতুর্থ তালিকার সাথে কিছু করবেন না - এটি প্রধানত সপ্তাহের দিনগুলি সঞ্চয় করতে।

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

দ্রষ্টব্য: - প্রচুর বাইট হ্রাস করতে সহায়তার জন্য মিঃ এক্স কোডার, ওভস এবং পিজ্জা প্যান্টস 184 এর জন্য একটি বিশেষ ধন্যবাদ।


0

পরিষ্কার , 328 বাইট

import StdEnv,Text
s="----------"
u=" (====)"
v="(==)"
j=['-|||||-|-||-']
$[[d,h,l,w]:t]=[[z:cjustify 10(fromString x)]%(0,9)<+y\\x<-[s,"":[["\\ /","-O-","/ \\"],["\\ /  "," -O"+v,u]:map((++)["   "+v,u])[[""],["/////"]]]!!w]++["",s,"MONTUEWEDTHUFRI"%(d*3,d*3+2),s,"H "<+h,"L "<+l,s]&y<-if(t>[])($t)(map((<+)"")j)&z<-j]

join"\n"o$

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

আংশিক ফাংশন আক্ষরিক হিসাবে, গ্রহণ [[Int]]এবং ফিরে String

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.