এই চ্যালেঞ্জে আপনার কাজটি হ'ল 300 টিরও কম অক্ষর সহ একটি প্রোগ্রাম লিখতে যা একটি সংক্ষিপ্ত অনুচ্ছেদ বা কোনও প্রার্থী বলেছে এমন কয়েকটি বাক্য এবং আউটপুট কে বলেছে সেগুলি গ্রহণ করে।
ইনপুট : কোনও ফাংশনে প্যারামিটার হিসাবে নেওয়া যেতে পারে, কোনও প্রোগ্রামে ইনপুট ইত্যাদি It এটি একটি সংক্ষিপ্ত অনুচ্ছেদ হবে, সঠিকভাবে বিরামচিহ্ন।
আউটপুট : আপনি যে প্রার্থী মনে করেন এটি। এটি একটি হতে পারে
Ben Carson (1)
Ted Cruz (2)
John Kasich (3)
Marco Rubio (4)
Donald Trump (5)
Hillary Clinton (6)
Bernie Sanders (7)
আমি 1 ম মার্চ পর্যন্ত বাদ পড়েছি এমন লোকদের নাম বাদ দিয়েছি। আপনি নামটি নিজেই আউটপুট করতে পারেন, বা আরও স্বাচ্ছন্দ্যে এই নামটির সাথে মিল রয়েছে।
স্কোরিং: আপনার স্কোরটি সঠিক পরীক্ষার ক্ষেত্রে শতকরা এক ভাগ। সর্বোচ্চ স্কোর জয়। টাইস (বা নিখুঁত স্কোর) কোড গল্ফের মতো কোড দৈর্ঘ্য দ্বারা বিভক্ত হয়।
পরীক্ষার কেসগুলি এ থেকে টানা যায়:
http://www.presidency.ucsb.edu/debates.php
ডেমোক্র্যাট এবং রিপাবলিকান উভয়ই যে বিতর্কটি এ পর্যন্ত ঘটেছে তাতে ক্লিক করুন (1 লা মার্চের আগে)। "অনুচ্ছেদ" 20 টির কম অক্ষরের চেয়ে দীর্ঘ না হলে প্রতিটি অনুচ্ছেদই একটি পরীক্ষার কেস।
এখানে একটি নির্দিষ্ট পৃষ্ঠা থেকে পরীক্ষার কেসগুলি বের করে দেওয়ার কোডটি রয়েছে:
var t = $(".tools").parentNode.querySelectorAll("p");
var categ = {}, cur = 0;
for (var i = 0; i < t.length; ++i) {
var p = t[i], str = p.innerText;
if (p.querySelector("b")) {
cur = p.querySelector("b").innerText.replace(':', '');
str = str.replace(/^.*?:\s/, '');
}
str = str.replace(/\[applause\]/g, '')
if (str.length < 20) continue;
if (categ[cur] == null) categ[cur] = [];
categ[cur].push(str);
}
তারপরে categ.SANDERS
সিনেটর স্যান্ডার্স যে সমস্ত অনুচ্ছেদে বলেছেন তার তালিকা পেতে আপনি এটি করতে পারেন ।
উপরের তালিকাভুক্ত প্রার্থীদের দ্বারা বলা না থাকা এমন কোনও কিছুই আপনি বাতিল করতে পারেন (যেমন categ.BUSH
বা categ.CHRISTIE
)।
সমস্ত পরীক্ষার ক্ষেত্রে ফাইলটি এখানে রয়েছে: https://drive.google.com/file/d/0BxMn8--P71I-bDZBS2VZMDdmQ28/view?usp=sharing
ফাইলটি প্রার্থী দ্বারা সংগঠিত হয়
CANDIDATE CANDIDATE_LAST_NAME
(empty line)
Series of statements. Each paragraph is separated by (NEW PARAGRAPH)-
(empty line)
CANDIDATE NEXT_CANDIDATE_LAST_NAME
(empty line)
etc.
একটি উদাহরণ আংশিক জমা হবে:
if (/ win | wall | great | beautiful/.test(p)) return 5;
if (/ percent | top one | rigged /.test(p)) return 7;
// etc. for all candidates
অথবা
var words = p.split(' ');
// majority of words have less than 5 characters
if (words.length - words.filter(a => a.length < 5).length < 4) evidence[5]++;
// at the end
return /* index with the most evidence */
এখানে এমন একটি জায়গা রয়েছে যেখানে আপনি জাভাস্ক্রিপ্ট সমাধানগুলি পরীক্ষা করতে পারবেন: https://jsfiddle.net/prankol57/abfuhxrh/
কোডটি p
শ্রেণিবদ্ধ করার জন্য বাক্যটি উপস্থাপন করতে পরামিতি ব্যবহার করে । উদাহরণ কোড যা প্রায় 20% স্কোর করে (অনুমান করা প্রায় 11% পাবে):
if (/ rigged | top | percent | Wall Street /.test(p)) return 'Sanders';
return 'Trump';
ঠিক আমি যা জিজ্ঞাসা করছি: 300 / এরও কম অক্ষরে একটি প্রোগ্রাম / ফাংশন লিখুন যা কোনও প্রার্থী বলেছে যে বাক্যটিকে ইনপুট হিসাবে গ্রহণ করে এবং কোন প্রার্থী বলেছে আউটপুট হিসাবে ফিরে আসে। আপনার স্কোরটি সঠিক পরীক্ষার ক্ষেত্রে শতকরা এক ভাগ you সর্বোচ্চ স্কোর জয়।
হ্যাঁ, আমি জানি যে প্রচুর লাইন রয়েছে [laughter]
বা সেগুলির [cheering]
মধ্যে। এগুলি সরানো হবে না। সবচেয়ে খারাপভাবে, এগুলি অতিরিক্ত তথ্য যা আপনি উপেক্ষা করতে পারেন; সর্বোপরি, এগুলি আপনি ব্যবহার করতে পারেন এমন অতিরিক্ত তথ্য (উদাহরণস্বরূপ আমি এগুলি তৈরি করেছি, তবে লোকেরা হাসি প্রমাণ হিসাবে মার্কো রুবিও কথা বলছেন)। পরীক্ষার কেসগুলি যেমন পাঠ্য ফাইলে প্রদর্শিত হয় তেমন।