কোনও ব্যবহারকারীর সম্মান গণনা করুন


12

চ্যালেঞ্জ

কোনও ব্যবহারকারীর নাম দেওয়া (আইডি নয়, আমাদের ইতিমধ্যে সেই চ্যালেঞ্জ রয়েছে), তাদের বর্তমান খ্যাতি এবং তাদের আইডি আউটপুট দেয়।

ইনপুট

ইনপুটটি একটি একক স্ট্রিং যা ব্যবহারকারীর ব্যবহারকারীর নাম। আপনি ধরে নিতে পারেন যে এই ব্যবহারকারীর উপস্থিতি রয়েছে।

আউটপুট

আউটপুট দুটি STDOUT বা STDERR এর দুটি পূর্ণসংখ্যা হবে যা ব্যবহারকারীর খ্যাতি এবং ব্যবহারকারীর আইডি হবে। তাদের অবশ্যই সেই নির্দিষ্ট ক্রমে থাকতে হবে এবং যে কোনও যুক্তিসঙ্গত ফর্ম্যাটে আউটপুট হতে পারে

সুনির্দিষ্ট

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

স্ট্যাক এক্সচেঞ্জ এপিআই সাইটটি এখানে পাওয়া যাবে । আপনি সেখান থেকে ডকুমেন্টেশন পড়তে পারেন।


স্ট্যাক-এক্সচেঞ্জ এপিআই লিঙ্ক করুন।
যাদু অক্টোপাস উরন

@ কারাসোকম্পুটিং করবো, ধন্যবাদ। আমারও কিছু ঠিক করতে হবে কারণ সম্ভবত একাধিক ব্যবহারকারীর একই নাম থাকতে পারে।
হাইপার নিউট্রিনো

আমি মনে করি এই বিধি প্রযোজ্য? এছাড়াও, আপনি কি এটি নিশ্চিত করতে পারবেন যে এটি পিইপিজি ব্যবহারকারীর মোট এসইটির চেয়ে খ্যাতি?
আর্নৌল্ড

@ আরনাউল্ড আমি হ্যাঁ বলব। এবং আমি নিশ্চিত করি যে এটি কেবল পিপিসি খ্যাতি। আমি চ্যালেঞ্জের মধ্যে এটি স্পষ্ট করব। ধন্যবাদ।
হাইপারনিউট্রিনো

ঠিক আছে আমি এই টি-এসকিউএল এন্ট্রিটি করেছি তবে এটি যথেষ্ট
নিয়মিত

উত্তর:


1

বাশ + জিকিউ , 93 বাইট

বহুল ব্যবহারকারীর প্রতিক্রিয়াগুলি সঠিকভাবে পরিচালনা করছে না বলে এটি 87 বাইট সংস্করণে ফিরে গেছে।

Golfed

curl "api.stackexchange.com/users?site=codegolf&inname=$1"|zcat|jq ..\|numbers|sed -n 4p\;12p

পৃথক লাইনে প্রথম ব্যবহারকারী আইডি এবং খ্যাতি আউটপুট দেবে।

কিভাবে এটা কাজ করে ?

1) curl + zcatJSON ফর্ম্যাট করা API উত্তরটি আনতে ব্যবহৃত হয়

2) jq ..|numbersJSON পুনরাবৃত্তভাবে উদ্ঘাটন করা হবে এবং সমস্ত সংখ্যার মান মুদ্রণ করবে, প্রতি লাইনে একটি করে

...
1   35
2   8
3   2
4   3315904
5   1487694154
6   1492702469
7   4565
8   82
9   82
10  60
11  20
12  6275
...

( nlকেবল চিত্রের উদ্দেশ্যে লাইন নম্বরগুলি যুক্ত করা হয়েছিল )

3) পরবর্তী আমরা sedপ্রথম account_idএবং reputationতাদের নিখুঁত সারি সংখ্যার দ্বারা অনুসন্ধান করতে ব্যবহার করি

পরীক্ষা

>./reputation zeppelin
3315904
6275

6

জাভাস্ক্রিপ্ট (ES6), 145 139 136 125 123 117 বাইট

a=>fetch(`//api.stackexchange.com/users?site=codegolf&filter=!)LgZAmQ6ls0hH&inname=`+a).then(_=>_.text()).then(alert)

শেগির জন্য 6 বাইট এবং সায়োসকে 6 বাইট ধন্যবাদ সংরক্ষণ করা হয়েছে।

আমি নিশ্চিত নই যে এটির একই নামের সমস্ত ব্যবহারকারী বা তাদের মধ্যে একটির আউটপুট আনা উচিত কিনা; এই কোডটি তাদের সকলকে আউটপুট করে।

f=a=>fetch(`//api.stackexchange.com/users?site=codegolf&filter=!)LgZAmQ6ls0hH&inname=`+a).then(_=>_.text()).then(alert)

f("tom")


আমাকে এটি মারধর। সাথে 6 বাইট সংরক্ষণ করুন "//api.stackexchange.com/users?site=codegolf&inname="+a
শেগি

দ্রষ্টব্য: দেখে মনে হচ্ছে আপনি (সম্ভবত) আপনার চেয়ে বেশি ফলাফল প্রত্যাবর্তন করেছেন। আমি কী উপযুক্ত তা নিয়ে হাইপার নিউট্রিনোর প্রতিক্রিয়া পাওয়ার চেষ্টা করছি তবে আপনার ফলাফলটি এমন ব্যবহারকারীদের জন্য মানগুলি দেয় যাঁর নামটিতে কেবল ইনপুট রয়েছে - ঠিক মিল নেই matches সুতরাং আপনার শীর্ষ ফলাফলটি "টম কার্পেন্টার" এর জন্য এবং "টম" নয়।
Dason

এটি প্রতিস্থাপন সম্ভব হবে _=>alert(_)শুধু সঙ্গে alert?
সাইয়াস

@ ড্যাসন হ্যাঁ, এটিই আমি নিশ্চিত ছিলাম না; আমি নিশ্চিত হয়ে গেলে আমার উত্তরটি পরিবর্তন করব।
টম

@ কিয়েস যে কাজ করেছে, ধন্যবাদ!
টম

4

পাইথন 2, 178 169 149 বাইট

আমি এর জন্য অনুরোধগুলি ব্যবহার করব:

from requests import*
a=get("http://api.stackexchange.com/users?site=codegolf&inname="+input()).json()["items"][0]
print a["reputation"],a["user_id"]

মূলত, এটি JSON হিসাবে তথ্য আনতে স্ট্যাকের এপি ব্যবহার করে এবং পরে আইটেমটি "খ্যাতি" পায় gets উপরন্তু, এপিআই অনেক অতিরিক্ত পরামিতি বৈশিষ্ট্যযুক্ত, আমি ঐ পাশাপাশি বন্ধ চাঁচা।

উদার অবদানগুলি: কারুসোকম্পিউটিং, এলপেড্রো, মালিভিল, কীর্তনা প্রভাকরণ


["items"][0]এটি কেবলমাত্র প্রথম ফলাফলটি পেয়েছে, একাধিক ব্যবহারকারীর ক্ষেত্রে এটি অতিরিক্তভাবে অগ্রাহ্য করবে যদি আমি ভুল না করি।
যাদু অক্টোপাস উরন

import requests as rএবং r.get(...4 বাইট সংরক্ষণ করে
এলপেড্রো

ইনপুট করার জন্য ধন্যবাদ, এলপিড্রো এটি আপডেট করেছে।
নিল

1
আপনি যদি প্যারামিটারগুলি পুনরায় ?site=codegolf&inname="
সাজান

1
ব্যবহার from requests import*;a=get()একটি বাইট হ্রাস!
কেরথানা প্রভাকরণ

3

গ্রোভী, 144 156 বাইট

{new groovy.json.JsonSlurper().parse(new URL("http://api.stackexchange.com/2.2/users/?site=codegolf&inname=$it")).items.collect{[it.user_id,it.reputation]}}

নামবিহীন বন্ধ।

সম্পাদনা: groovy.json.JSON স্লুর্পার + 14 বাইটের জন্য আমদানি ব্যবহার করতে ভুলে গেছেন ।

উদাহরণ আউটপুট [[UserID, Reputation],...]:

[[20260, 60695], [20469, 21465], [3103, 8856], [41805, 7783], [134, 6829], [42643, 5622], [45268, 4389], [10732, 3976], [32, 3635], [53745, 3392], [10801, 3216], [49362, 2418], [2104, 2160], [3563, 1988], [18280, 1491], [742, 1466], [59487, 1362], [19039, 1330], [56642, 1133], [9522, 951], [34438, 886], [1744, 793], [52661, 778], [18187, 768], [11426, 751], [26850, 711], [178, 637], [29451, 631], [19700, 616], [15862, 601]]

8
জসনস্লার্পার ... ও_ও
হাইপার নিউট্রিনো


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

ঠিক আছে ধন্যবাদ! আমি এটি একবার দেখুন।
হাইপার নিউট্রিনো

0

সুইফট, 225 201 বাইট

import Foundation;var f:(String)->Any={return try!JSONSerialization.jsonObject(with:Data(contentsOf:URL(string:"http://api.stackexchange.com/users?site=codegolf&filter=!)LgZAmQ6ls0hH&inname=\($0)")!))}

আন golfed:

import Foundation

var f:(String) -> [String: Any] = {
    return try! JSONSerialization.jsonObject(with:Data(contentsOf:URL(string:"http://api.stackexchange.com/users?site=codegolf&filter=!)LgZAmQ6ls0hH&inname=\($0)")!)) as! [String:Any]
}

উদাহরণ আউটপুট:

["items": <__NSArrayI 0x6180001ffc00>(
{
    reputation = 2820;
    "user_id" = 42295;
},
{
    reputation = 2468;
    "user_id" = 31203;
},
{
    reputation = 2106;
    "user_id" = 2800;
},
{
    reputation = 1479;
    "user_id" = 6689;
},
{
    reputation = 1287;
    "user_id" = 64424;
},
{
    reputation = 1037;
    "user_id" = 64070;
},
{
    reputation = 644;
    "user_id" = 25193;
},
{
    reputation = 641;
    "user_id" = 3171;
},
{
    reputation = 639;
    "user_id" = 743;
},
{
    reputation = 590;
    "user_id" = 33233;
},
{
    reputation = 571;
    "user_id" = 26993;
},
{
    reputation = 563;
    "user_id" = 1730;
},
{
    reputation = 321;
    "user_id" = 18570;
},
{
    reputation = 309;
    "user_id" = 39156;
},
{
    reputation = 291;
    "user_id" = 7880;
},
{
    reputation = 281;
    "user_id" = 25190;
},
{
    reputation = 261;
    "user_id" = 40820;
},
{
    reputation = 231;
    "user_id" = 14154;
},
{
    reputation = 206;
    "user_id" = 2774;
},
{
    reputation = 196;
    "user_id" = 48231;
},
{
    reputation = 181;
    "user_id" = 1230;
},
{
    reputation = 176;
    "user_id" = 64077;
},
{
    reputation = 171;
    "user_id" = 31365;
},
{
    reputation = 171;
    "user_id" = 43455;
},
{
    reputation = 163;
    "user_id" = 21469;
},
{
    reputation = 161;
    "user_id" = 11845;
},
{
    reputation = 157;
    "user_id" = 25181;
},
{
    reputation = 131;
    "user_id" = 263;
},
{
    reputation = 131;
    "user_id" = 3922;
},
{
    reputation = 128;
    "user_id" = 67227;
}
)
]
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.