একটি পাঠ্যে শব্দগুলি গণনা করুন এবং তাদের প্রদর্শন করুন


26

কোডটির ইনপুটটি একটি পাঠ্য হওয়া উচিত (বাধ্যতামূলক কোনও ফাইল, স্টাডিন, জাভাস্ক্রিপ্টের স্ট্রিং ইত্যাদি হতে পারে):

This is a text and a number: 31.

আউটপুটে শব্দটি তাদের উপস্থিতি সংখ্যার সাথে থাকা উচিত, অবতরণ ক্রমে সংখ্যার অনুসারে বাছাই করা:

a:2
and:1
is:1
number:1
This:1
text:1
31:1

লক্ষ্য করুন যে ৩১ একটি শব্দ, সুতরাং কোনও শব্দ আলফা-সংখ্যাসূচক কিছু, সংখ্যা বিভাজক হিসাবে কাজ করে না তাই উদাহরণস্বরূপ 0xAFএকটি শব্দ হিসাবে যোগ্যতা অর্জন করে। বিভাজক এমন কিছু হবে যা আলফা-সংখ্যাসূচক নয় .(ডট) এবং -(হাইফেন) এভাবে i.e.বা pick-me-upফলস্বরূপ 2 টি যথাক্রমে 3 শব্দ থাকবে। কেস সংবেদনশীল হওয়া উচিত, Thisএবংthis এটি দুটি পৃথক শব্দের 'হতে হবে, এছাড়াও বিভাজক হবে wouldnএবং tথেকে 2 পৃথক শব্দ হতে হবে wouldn't

আপনার পছন্দের ভাষাতে সংক্ষিপ্ততম কোডটি লিখুন।

এখন পর্যন্ত সংক্ষিপ্ত সঠিক উত্তর:


5
কেস ম্যাটার ( Thisযেমন thisএবং একই হিসাবে tHIs)?
গ্যারেথ

অ-অক্ষরযুক্ত কিছু যদি বিভাজক হিসাবে গণনা করে তবে wouldn't2 শব্দ ( wouldnএবং t)?
গ্যারেথ

@Gareth কেস সংবেদনশীল হতে হবে, Thisএবং thisপ্রকৃতপক্ষে দুটি ভিন্ন শব্দ, একই হবে wouldnএবং t
এডুয়ার্ড ফ্লোরিয়েন্সু

যদি 2 শব্দ না হয় তবে এটি "উই" এবং "এনটি" হওয়া উচিত নয় কারণ এটির সংক্ষিপ্তসারটি ছোট ছিল না, বা এটি অনেক ব্যাকরণ নাজী-ইশ-এর পক্ষে?
তেউন প্রোঙ্ক

@ টিউনপ্রংক আমি এটিকে সহজ রাখার চেষ্টা করি, কয়েকটি বিধি প্রয়োগ ব্যাকরণের সাথে মিলিত হওয়ার জন্য ব্যতিক্রমকে উত্সাহিত করবে এবং সেখানে প্রচুর ব্যতিক্রম রয়েছে English ইংরেজিতে উদাহরণটি i.e.একটি শব্দ তবে আমরা যদি বিন্দুটিকে সমস্ত বিন্দুতে রাখি বাক্যাংশের সমাপ্তি উদ্ধৃতি বা একক উদ্ধৃতি ইত্যাদির সমান নেওয়া হবে
এডুয়ার্ড ফ্লোরিইনস্কু

উত্তর:


27

গ্রেপ এবং কোরিউটিলস  44  42

grep -io '[a-z0-9]*'|sort|uniq -c|sort -nr

টেস্ট:

printf "This is a text and a number: 31." |
grep -io '[a-z0-9]*'|sort|uniq -c|sort -nr

ফলাফল স্বরূপ:

  2 a
  1 This
  1 text
  1 number
  1 is
  1 and
  1 31

হালনাগাদ

  • কেস-সংবেদনশীল বিকল্প এবং খাটো রেজেক্স ব্যবহার করুন। ধন্যবাদ টমাস

2
এটি নুথের বই সাহিত্যের প্রোগ্রামিংয়ের প্রায় ম্যাকেলরোয়ের প্রতিক্রিয়া । পার্থক্যটি হ'ল এটির headশেষে কোনও পাইপ অন্তর্ভুক্ত নয় ।
এজেম্যান্সফিল্ড 10

এটি আমার প্রথম চিন্তা খুব সুন্দর ছিল।
রব

1
'\ W +' পাশাপাশি কাজ করবে না?
সিলেস্টার

1
41 টি অক্ষর :grep -io \[A-Z0-9]*|sort|uniq -c|sort -nr
টমাস

1
@ টমাস: উত্তরে এটি যুক্ত হয়েছে, ধন্যবাদ। আমি নক্ষত্রের সুরক্ষায় রইলাম, কারণ এটি কয়েকটি শেলগুলিতে ফাইলের নাম প্রসারিত করছিল।
থোর

18

জাভা 8: 289

যা বেশ ভাল, যেহেতু জাভা খুব অ-গোলাপী ভাষা language

import java.util.stream.*;class C{static void main(String[]a){Stream.of(a).flatMap(s->of(s.split("[\\W_]+"))).collect(Collectors.groupingBy(x->x,Collectors.counting())).entrySet().stream().sorted(x,y->x.getValue()-y.getValue()).forEach(e->System.out.println(e.getKey()+":"+e.getValue()));}

Ungolfed:

import java.util.stream.*;
class C {
    static void main(String [] args){
        Stream.of(args).flatMap(arg->Stream.of(arg.split("[\\W_]+")))
            .collect(Collectors.groupingBy(word->word,Collectors.counting()))
            .entrySet().stream().sorted(x,y->x.getValue()-y.getValue())
            .forEach(entry->System.out.println(entry.getKey()+":"+entry.getValue()));
    }
}

কমান্ড লাইন থেকে চালান:

java -jar wordCounter.jar This is a text and a number: 31.

বিভাজনের জন্য ভুল রেগেক্স। এটি হওয়া উচিত"[^\\W_]"
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳, String.split(String regex)পদ্ধতিটি এমন একটি প্যাটার্ন নেয় যা বিভক্ত হয়ে ডিলিমিটারের সাথে মেলে । সুতরাং, উদাহরণস্বরূপ, "aababba".split("b")অ্যারের উত্পাদন হবে {"aa", "a", "", "a"}। আমার রেজেক্সের [^\\w\\d]অর্থ 'শব্দের চরিত্র বা অঙ্কের অক্ষর শ্রেণিতে নয় এমন একটি অক্ষর'। [^\\W_]পরিবর্তে 'এমন একটি চরিত্র যা আন্ডারস্কোর নয় বা নন-শব্দ-অক্ষর শ্রেণিতে নেই' এবং আন্ডারস্কোর ব্যতীত অন্য কোনও শব্দের সাথে মিলবে।
এজেম্যানসফিল্ড

দুঃখিত, আমার আগের মন্তব্যটি ভুল ছিল। \wঅন্তর্ভুক্ত \d, তাই \dঅপ্রয়োজনীয়। \wআন্ডারস্কোর অন্তর্ভুক্ত রয়েছে, যা প্রশ্ন অনুসারে বিভাজক হিসাবে বিবেচিত হওয়া উচিত। সুতরাং বিভাজনের জন্য সঠিক রেজেক্স হওয়া উচিত "[\\W_]+"
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ ঠিক আছে, ধন্যবাদ; আমি সমস্যা সমাধান করেছি।
এজেম্যানসফিল্ড

17

এপিএল (57)

⎕ML←3⋄G[⍒,1↓⍉G←⊃∪↓Z,⍪+⌿∘.≡⍨Z←I⊂⍨(I←⍞)∊⎕D,⎕A,⎕UCS 96+⍳26;]

যেমন

      ⎕ML←3⋄G[⍒,1↓⍉G←⊃∪↓Z,⍪+⌿∘.≡⍨Z←I⊂⍨(I←⍞)∊⎕D,⎕A,⎕UCS 96+⍳26;]
This is a text and a number: 31.
 a       2
 This    1
 is      1
 text    1
 and     1
 number  1
 31      1

ব্যাখ্যা:

  • ⎕D,⎕A,⎕UCS 96+⍳26: সংখ্যা, বড় হাতের অক্ষর, ছোট হাতের অক্ষর
  • (I←⍞)∊: ইনপুট পড়ুন, স্টোর করুন, Iদেখুন কোনটি আলফানিউমেরিক
  • Z←I⊂⍨: Iআলফানিউমেরিক অক্ষরের গোষ্ঠীতে বিভক্ত হওয়া, সঞ্চয় করুনZ
  • +⌿∘.≡⍨Z: প্রতিটি উপাদানের জন্য Z, দেখুন এটি প্রায়শই ঘটে
  • Z,⍪: প্রতিটি উপাদান মেলে Z জোড়াবার সাথে মিলিয়ে দিন এটি কতবার ঘটে
  • G←⊃∪↓: কেবল অনন্য জোড়া নির্বাচন করুন, স্টোর করুন G
  • ⍒,1↓⍉G: সংঘটনগুলির জন্য সাজানো সূচকগুলি পান
  • G[... ;]: Gপ্রদত্ত সূচকগুলির রেখাগুলি পুনঃক্রম করুন

6
কি ... দি ... চ .....
ওজ

6
এই কারণেই আমার দুঃস্বপ্ন হয়।
থেব্লুফিশ

3
@ দ্য ব্লুফিশ: এপিএল একটি স্বরলিপি থেকে তৈরি করা হয়েছিল, এই উদ্দেশ্য নিয়ে যে গণিতের মতো একটি সংক্ষিপ্ত বিবরণ আপনাকে পরিষ্কারভাবে ভাবতে মুক্তি দেয়। আবার গণিতগুলির মতো, আপনি যখন প্রথম সেই স্বরলিপিটি দেখেন, আপনি ভাবেন যে এটি মোটেও পরিষ্কার নয়, তবে ভাষা সবসময়ই জটিল বলে মনে হয়। এটি যদি এক লাইনে না থাকত তবে আরও সহজ হত ...
ফিল এইচ

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

সঙ্গে খাটো হতে পারে ⎕s( help.dyalog.com/latest/Content/Language/System%20Functions/... ) এবং নতুন কী অপারেটর ( help.dyalog.com/latest/Content/Language/Primitive%20Operators/... ):g⌷⍨⊂⍒2⌷⍉g←{⍺,≢⍵}⌸('\w+'⎕s'\0')⍞
ngn

8

সি #: 153c 144c 142c 111c 115c 118c 114c 113c

(লিনকিপ্যাডের মাধ্যমে "সি # স্টেটমেন্টস" মোডে ইনপুট স্ট্রিং সহ নয়)

সংস্করণ 1: 142c

var s = "This is a text and a number: 31."; // <- line not included in count
s.Split(s.Where(c=>!Char.IsLetterOrDigit(c)).ToArray(),(StringSplitOptions)1).GroupBy(x=>x,(k,e)=>new{s,c=e.Count()}).OrderBy(x=>-x.c).Dump();

Ungolfed:

var s = "This is a text and a number: 31.";
s.Split(                                                     // split string on multiple separators
    s.Where(c => !Char.IsLetterOrDigit(c))                   // get list of non-alphanumeric characters in string
     .ToArray(),                                             // (would love to get rid of this but needed to match the correct Split signature)
    (StringSplitOptions)1                                    // integer equivalent of StringSplitOptions.RemoveEmptyEntries
).GroupBy(x => x, (k, e) => new{ s = k, c = e.Count() })     // count by word
 .OrderBy(x => -x.c)                                         // order ascending by negative count (i.e. OrderByDescending)
 .Dump();                                                    // output to LINQPad results panel

ফলাফল:

ফলাফল

সংস্করণ 2: 114c

( [\w]অন্তর্ভুক্ত _, যা ভুল!; [A-z]অন্তর্ভুক্ত [ \ ] ^ _ `; স্থির করে [^_\W]+)

var s = "This is a text and a number: 31."; // <- line not included in count
Regex.Matches(s, @"[^_\W]+").Cast<Match>().GroupBy(m=>m.Value,(m,e)=>new{m,c=e.Count()}).OrderBy(g=>-g.c).Dump();

Ungolfed:

Regex.Matches(s, @"[^_\W]+")                                   // get all matches for one-or-more alphanumeric characters
     .Cast<Match>()                                            // why weren't .NET 1 collections retrofitted with IEnumerable<T>??
     .GroupBy(m => m.Value, (m,e) => new{ m, c = e.Count() })  // count by word
     .OrderBy(g => -g.c)                                       // order ascending by negative count (i.e. OrderByDescending)
     .Dump();                                                  // output to LINQPad results panel

ফলাফল: (সংস্করণ 1 হিসাবে)


যাইহোক, সংস্করণ 2 এর জন্য, আপনার অরগল্ফড সংস্করণ আপনার গল্ফ সংস্করণটির সাথে মেলে না। এবং যেহেতু আপনি আক্ষরিক স্ট্রিং ব্যবহার করছেন, আপনি লিখতে পারেন@"[^_\W]"
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ - টাইপো ঠিক করেছেন এবং 1-চার্চের সাশ্রয়ের জন্য অতিরিক্ত `removed সরিয়েছেন - ধন্যবাদ !!
jimbobmcgee

7

আর, 58 চর

sort(table(unlist(strsplit(scan(,""),"[[:punct:]]"))),d=T)

ব্যবহার:

sort(table(unlist(strsplit(scan(,""),"[[:punct:]]"))),d=T)
1: This is a text and a number: 31.
9: 
Read 8 items

     a     31    and     is number   text   This 
     2      1      1      1      1      1      1 

এটি সংক্ষিপ্ত (49 টি অক্ষর) sort(table(gsub("[[:punct:]]","",scan(,""))),d=T)। দুর্ভাগ্যক্রমে উভয় সমাধান সঠিকভাবে কাজ করে না wouldn't
djhurio

6

perl6: 49 টি অক্ষর

.say for get.comb(/\w+/).Bag.pairs.sort(-*.value)

স্টাফ ম্যাচিংয়ের জন্য চিরুনি ইনপুট \w+, ফলাফলগুলির শব্দের তালিকাটি একটিতে রাখুন Bag, তাদের জোড়ার জন্য জিজ্ঞাসা করুন এবং এগুলি নেতিবাচক মান অনুসারে বাছাই করুন। ( *একটি হল যাই হোক না কেন তারকা, তাই নয় গুণ এর এখানে)

আউটপুট:

"a" => 2
"This" => 1
"is" => 1
"text" => 1
"and" => 1
"number" => 1
"31" => 1

3
পার্ল 6 আমাকে ভয় দেখায়।
প্রিমো

1
যতবারই আমি শীতল ভাষার বৈশিষ্ট্যটি মনে করি, আমি এটি সন্ধান করি এবং এটি কোথাও পার্ল 6 এ রয়েছে। এজন্য এটি দীর্ঘ সময় নিচ্ছে ...
ফিল এইচ

আপনি :) এর .wordsপরিবর্তে 6 অক্ষর ছাঁটাই করতে পারেন .comb(/\w+/):)
মৌখ

@Mouq: দুর্ভাগ্যবশত .wordsস্ট্রিপ না :বা .ইনপুট থেকে প্রয়োজনীয় :(
Ayiko

-1। _সমস্যা বিবরণের অধীনে একটি শব্দে অন্তর্ভুক্ত করা উচিত নয়।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

6

পাইথন 101 97

import re
a=re.split('[_\W]+',input())
f=a.count
for w in sorted(set(a),key=f)[::-1]:print w,f(w)

এখন নতুন লাইনের সাথে কাজ করে:

$ python countword.py <<< '"This is    a text and a number: 31, and a\nnewline"'
a 3
and 2
31 1
number 1
newline 1
is 1
text 1
This 1

যখন পাঠ্যগুলিতে নিউলাইনগুলি বা একটানা একাধিক স্থান থাকে তখন এটি কাজ করে না।
ক্লিংটনেট

@ ক্লিংটটনেট ঠিক করা হয়েছে।
দানিরো

6

পিএইচপি - 84 বাইট

<?$a=array_count_values(preg_split('/[_\W]+/',$argv[1],0,1));arsort($a);print_r($a);

ইনপুট একটি কমান্ড লাইন আর্গুমেন্ট হিসাবে গ্রহণ করা হয়, যেমন:

$ php count-words.php "This is a text and a number: 31."

নমুনা স্ট্রিং জন্য আউটপুট:

Array
(
    [a] => 2
    [number] => 1
    [31] => 1
    [and] => 1
    [text] => 1
    [is] => 1
    [This] => 1
)

1
এটি বলে যে ইনপুট আপনি যা চান তা। যাতে আপনি এটি ব্যবহার করে কমান্ড লাইন প্যারামিটার হিসাবে পেতে পারেন$argv[1]
আইনসিও

@ আইনাচিও ভাল কল।
প্রিমো

-1। ইন্ডস্কোর _কোনও শব্দে অন্তর্ভুক্ত করা উচিত নয়।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

@ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ স্থির।
প্রিমো

5

পাওয়ারশেল (40)

$s -split"\W+"|group -ca|sort count -des

। গুলি একটি পরিবর্তনশীল যা ইনপুট স্ট্রিং ধারণ করে।


2
[\W]যথেষ্ট ভাল নয় - এটি আমার পরীক্ষার একটি জায়গার সাথে মিলছে। এবং এটি অবতীর্ণ গণনা দ্বারা অর্ডার করা হয় না ...
jimbobmcgee

$s -split"[\W]"|group -ca|where{$_.Name -ne ""}|sort{-$_.Count}আপনাকে নিকটবর্তী করে (ব্যয় অবশ্যই সহ)
jimbobmcgee

ওফস, আমি বাছাইয়ের অংশটি মিস করেছি। আমার উত্তরটি শীঘ্রই ঠিক করে দেবে।
মাইক্রোবিয়ান

বিকল্পভাবে:$s -split"\W+"|group -ca |sort count -des
নাসিমোটা

4
-split"\W+"স্ট্রিংয়ের শেষ .এবং শেষের মধ্যে একটি খালি স্ট্রিংয়ের সাথে মিলছে ; প্রযুক্তিগতভাবে অনুমোদিত নয় এমন \W+ম্যাচগুলিও রয়েছে_
jimobmcgee

4

পার্ল 69

$h{$_}++for<>=~/\w+/g;print"$_: $h{$_}
"for sort{$h{$b}-$h{$a}}keys%h

@ প্রিমো এবং @ প্রোপ্রিস্ট থেকে প্রস্তাবনা যুক্ত করা হয়েছে


1
বাছাই সম্পর্কে কি?
ডানিরো

@ দানিরো, দুর্দান্ত পয়েন্ট! এটি এখন ধরণের!
ডম হেস্টিংস

1
আমি মনে করি এটি যতটা পরিশ্রুত তা পেতে পারে। যদি আপনি অবমূল্যায়নের সতর্কতাটিকে আপত্তি না করেন তবে geএবং এর মধ্যে কোনও স্থানের প্রয়োজন নেই for। এছাড়াও, <=>অপারেটর দ্বারা প্রতিস্থাপন করা যেতে পারে -
প্রথম

2
@ প্রিমো আহ্ এর -পরিবর্তে <=>প্রতিভা, এটি নিশ্চিত নয় যে পার্ল থ্রেডের জন্য গল্ফিং টিপস রয়েছে। আমি পরে এটি আপডেট করব, ধন্যবাদ!
ডম হেস্টিংস

1
আরে @ প্রোটিস্ট, \wসংখ্যাগুলিও খুব বেশি অন্তর্ভুক্ত করে ( perl -e 'print for"a 1 2 3 4 b"=~/\w/g'মুদ্রণ করে a1234b) তবে শব্দগুলি পুনরাবৃত্তি করার জন্য আপনার পদ্ধতিতে অন্য একটি চরিত্র সংরক্ষণ হয় তাই আমি আপডেট করব। ধন্যবাদ!
ডম হেস্টিংস

4

পাওয়ারশেল: 57 55 53 62 57

(ইনপুট স্ট্রিং সহ নয়)

$s = "This is a text and a number: 31."    # <-- not counting this line...
[Regex]::Matches($s,"[^_\W]+")|group -ca|sort{-$_.Count}

আয়:

Count Name                      Group
----- ----                      -----
    2 a                         {a, a}
    1 and                       {and}
    1 31                        {31}
    1 number                    {number}
    1 This                      {This}
    1 is                        {is}
    1 text                      {text}

(গ্রুপ-সিএ-এর জন্য @ মাইক্রোবিয়ানকে প্রপস সহ)


3

একমাস্ক্রিপ্ট।

সংস্করণ 1 (108 টি অক্ষর)

s.split(_=/[^a-z\d]/i).map(x=>_[x]=-~_[x]);keys(_).sort((a,b)=>_[a]<_[b]).map(x=>x&&console.log(x+':'+_[x]))

সংস্করণ 2 (১০২ টি অক্ষর)

s.split(_=/[^a-z\d]/i).map(x=>_[x]=-~_[x]);keys(_).sort((a,b)=>_[a]<_[b]).map(x=>x&&alert(x+':'+_[x]))

সংস্করণ 3 (105 টি অক্ষর)

s.match(_=/\w+/g).map(x=>_[x]=-~_[x]);alert(keys(_).sort((a,b)=>_[a]<_[b]).map(x=>x+':'+_[x]).join('\n'))

সংস্করণ 4 (94 টি অক্ষর)

s.match(_=/\w+/g).map(x=>_[x]=-~_[x]);keys(_).sort((a,b)=>_[a]<_[b]).map(x=>alert(x+':'+_[x]))

সংস্করণ 5 (সতর্কতা ছাড়াই; 87 টি অক্ষর)

s.match(_=/\w+/g).map(x=>_[x]=-~_[x]);keys(_).sort((a,b)=>_[a]<_[b]).map(x=>x+':'+_[x])

সংস্করণ 6 (100 টি অক্ষর)

keys(_,s.match(_=/\w+/g).map(x=>_[x]=-~_[x])).sort((a,b)=>_[a]<_[b]).map(x=>console.log(x+':'+_[x]))

আউটপুট:

a:2
31:1
This:1
is:1
text:1
and:1
number:1

আপনি পরিবর্তন করতে পারেন _[a]এবং _[b]করতে _.aএবং _.b। এছাড়াও পরিবর্তন /\w+/g,_={}করতে _=/\w+/gএকই ফলাফল উত্পাদন করা হবে।

@eithedog ধন্যবাদ! যাইহোক, আমি পরিবর্তন করতে পারবেন না _[a]হতে _.aহয়েছে কারণ এটি সম্পত্তি অ্যাক্সেস করার চেষ্টা করে "a"এর _, না সম্পত্তি a
টুথব্রাশ

আহ, সঠিক - আদেশ রাখা হবে না। বহন করুন :)

ওহ, আমি আপনার উত্তর লক্ষ্য করিনি .. সুন্দর। তবে .. Object.keysES6 এ বিশ্বব্যাপী হয়ে উঠছে? আপনার উত্তরটি এটি ধরে নিয়েছে বলে মনে হচ্ছে তবে ES6 এর জন্য নির্ধারিত অনুসারে তা দেখে আমার মনে নেই।
ফায়ারফ্লাই

@ ফায়ারফ্লাই আমি কোনও ডকুমেন্টেশন খুঁজে পাই না, তবে এটি ফায়ারফক্সে দুর্দান্ত কাজ করে। আমি এটি ক্রোম / অপেরা / আইইতে পরীক্ষা করিনি।
টুথব্রাশ

3

গ্রোভি 77 82

আন্ডারস্কোর দিয়ে সমস্যা সমাধানের [^\w]+জন্য রেজেক্স থেকে পরিবর্তিত হয়েছে[^\d\p{L}]+

String s = 'This is a text and a number: 31'

def a=s.split(/[^\d\p{L}]+/) 
a.collectEntries{[it, a.count(it)]}.sort{-it.value}

প্রথম লাইন ছাড়া, 82 টি অক্ষর

আউটপুট:

[a:2, This:1, is:1, text:1, and:1, number:1, 31:1]

nu_berবর্ণানুক্রমিক নয়। এই shouls 2 শব্দ হতে
Cruncher

এর nu_berপরিবর্তে কেন ব্যবহার করবেন number?
কেভিন ফেগান

আমি অন্য কিছু পোস্ট দ্বারা বিভ্রান্ত হয়েছি;) এখন আমি ইনপুট থেকে "_" সরিয়েছি, তবে এটি পরিচালনা করার জন্য রেজিটাকে স্থির করেছিলাম
কামিল মিকোলাজকজেক

3

GNU awk + coreutils: 71 69

gawk 'BEGIN{RS="\\W+"}{c[$0]++}END{for(w in c)print c[w],w}'|sort -nr

যদিও gawk asortসহযোগী অ্যারেগুলিতে কাজ করে, এটি বাহ্যিকভাবে প্রয়োজনীয় হয়ে সূচক মানগুলিকে সংরক্ষণ করে নাsort

printf "This is a text and a number: 31." | 
gawk 'BEGIN{RS="\\W+"}{c[$0]++}END{for(w in c)print c[w],w}'|sort -nr
2 a
1 This
1 text
1 number
1 is
1 and
1 31

জিএনইউ অবাক 4.x: 100 93

PROCINFOঅ্যাসোসিয়েটিভ অ্যারের জন্য ডিফল্ট ক্রম অর্ডার সেট করতে কিছুটা বড় তবে খাঁটি গাক সমাধান (অপেক্ষাকৃত সাম্প্রতিক গৌক -> 4.x প্রয়োজন?)

BEGIN{RS="\\W+";PROCINFO["sorted_in"]="@val_num_desc"}
{c[$0]++}
END{for(w in c)print c[w],w}

ওহহহ। আমি প্রোসিএনএফও সম্পর্কে জানতাম না। যেন আমার জীবনে বিশ্রী ব্যবহারের জন্য আমার আর একটি অজুহাত প্রয়োজন। অভিশাপ!
dmckee

@ ডিএমকেকি টিবিএইচ আমি হাঁটাচলা শুরু না করা অবধি প্রোসিএনএফও সম্পর্কে জানতাম না - আমি নিশ্চিত হয়েছি যে স্থানীয়ভাবে বাছাই করার উপায় থাকতে হবে - শনাক্তকারীরা এত দীর্ঘ যে অনুভব করতে পারেন;)
স্টিল্ড্রাইভার

খারাপ পুরানো দিনগুলিতে কোনও উপায় ছিল না। যা আমার এই পুরানো উত্তর মত জিনিস বাড়ে ।
dmckee

-1। ইন্ডস্কোর _কোনও শব্দে অন্তর্ভুক্ত করা উচিত নয়।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

3

জাভাস্ক্রিপ্ট - 132 126 অক্ষর!

(সংক্ষিপ্ততম জেএস কোড)

o={},a=[]
for(i in s=s.split(/[\W_]+/))o[z=s[i]]=o[z]+1||1
for(j in o)a.push([j,o[j]])
a.sort(function(b,c){return c[1]-b[1]})

রেগেক্স এবং কিছু সম্পাদনা উন্নত।


Ungolfed

s = s.split(/[\W_]+/), o={}, a=[]; // split along non-char letters, declare object and array

for (i in s) { n = s[i]; o[n] = o[n] + 1 || 1 } // go through each char and store it's occurence

for (j in o) a.push( [j, o[j]] ); // store in array for sorting

a.sort(function (b, c){ return c[1] - b[1]; }); // sort !

<= // Make s = "আজকের দিনটি কত চকচকে তা নয়"

=> [['হল', 3],
['কেমন', 1],
['চকচকে', 1],
['এই', 1],
['দিন', 1],
['ইসন', 1] ,
['টি', ১]]


পুরানো - 156 143 141 140 132 অক্ষর

s=s.split(/[^\w]+/g),o={}
for(i in s){n=s[i];o[n]=o[n]+1||1}a=[]
for(j in o)a.push([j,o[j]])
a.sort(function(b,c){return c[1]-b[1]})

গল্ফিং এ প্রথম চেষ্টা করেছিলেন। প্রতিক্রিয়া প্রশংসা।


2

ইকামাস্ক্রিপ্ট 6, 115 100 87 (প্রম্পট এবং সতর্কতা ছাড়াই)

@ আইটেডোগকে ধন্যবাদ:

s.match(/\w+/g,a={}).map(w=>a[w]=-~a[w]),keys(a).map(w=>[w,a[w]]).sort((a,b)=>b[1]-a[1])

প্রম্পট এবং সতর্কতা সহ (100):

prompt(a={}).match(/\w+/g).map(w=>a[w]=-~a[w]);alert(keys(a).map(w=>[w,a[w]]).sort((a,b)=>b[1]-a[1]))

এটি ফায়ারফক্সে চালান।


1
আপনি প্রয়োজন হবে না var । এছাড়াও, আপনি a={}ভিতরে যেতে পারেন prompt- prompt(a={})। আপনি ড্রপ করে Object.এবং পরিবর্তিত w=>a[w]=a[w]+1||1হতে পারেনw=>a[w]=-~a[w]

খুব সুন্দর. ওয়ার্কিং পাইথনকে এখনই
মারছেন

@ টুথব্রাশের উত্তর হিসাবে একই - aপ্রম্পট থেকে রেজিএক্সপেকে ঘোষণাকে সরিয়ে নেওয়া আরও দুটি চরিত্রকে ছাড়িয়ে যাবে।

এটা সুন্দর এবং পরিষ্কার। ভাল করেছ!
টুথব্রাশ

-1। ইন্ডস্কোর _কোনও শব্দে অন্তর্ভুক্ত করা উচিত নয়।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

2

রুবি 58 82 65

h=Hash.new 0
gets.scan(/[\d\w]+/){h[$&]+=1}
p *h.sort_by{|k,v|-v}

পরীক্ষা রান:

$ ruby counttext.rb <<< "This is a text and a number: 31."
["a", 2]
["text", 1]
["This", 1]
["is", 1]
["and", 1]
["number", 1]
["31", 1]

58-> 80 সম্পাদনা করুন: ঠিক আছে, আমি পথ বন্ধ ছিল। আমি ঘটনাগুলিতে শব্দগুলি বাছাই করতে ভুলে গেছি। এছাড়াও, Array#uniqকোনও গণক নয়, তবে উপাদানগুলির সাথে তুলনা করার জন্য প্রদত্ত ব্লক ব্যবহার করে, সুতরাং putsএটির মাধ্যমে পাস করা ডুপ্লিকেটগুলি ফিল্টার করে না (এটি বলে না যে এটি আমাদের করা উচিত)।


1
এর split(/\W+/)পরিবর্তে scan(অপরিবর্তিত)?
হাওয়ার্ড

টুইটার \Wবাদ দেয় _যাতে এটি স্থির করতে হয়েছিল, তবে এটি এখনও 2 টি অক্ষর সংরক্ষণ করেছে (তারপরে আমি অবহেলা করা বাছাই করা ঠিক করার জন্য 20 যোগ করেছি)।
দানিরো

বাছাই করা উচিত নয়reverse (a=gets.split(/[_\W]+/)).uniq.map{|w|[w,a.count(w)]}.sort_by(&:last).reverse.map{|x|p x}
এডুয়ার্ড ফ্লোরিয়েন্সু

পুনঃটুইট reverseউপায়টি খুব ভার্জোজ;) বিটিডব্লিউ, প্রশ্নটি পরিবর্তন করা মোটেই ঠিক নয়।
দানিরো

যদি আপনি আউটপুট নমুনায় দেখতে পান তবে এটি কেবল সাজানো হয়েছিল কেবলমাত্র এটিই আমি উল্লেখ করতে ভুলে গিয়েছিলাম।
এডুয়ার্ড ফ্লোরিয়েনস্কু

2

এফ # - 169

let f s=(s+"").Split(set s-set(['a'..'z']@['A'..'Z']@['0'..'9'])|>Set.toArray)|>Seq.where((<>)"")|>Seq.countBy id|>Seq.sortBy((~-)<<snd)|>Seq.iter((<||)(printfn"%s:%d"))

Degolfed:

let count (s : string) =
    s.Split (set s - set (['a'..'z']@['A'..'Z']@['0'..'9']) |> Set.toArray)
 |> Seq.where ((<>) "")
 |> Seq.countBy id
 |> Seq.sortBy ((~-) << snd)
 |> Seq.iter ((<||) (printfn "%s:%d"))

এফএসআই থেকে কল করার পরে আউটপুট:

> "This is a text and a number: 31." |> f
a:2
This:1
is:1
text:1
and:1
number:1
31:1
val it : unit = ()

আপডেট: মন্তব্যে অনুরোধ হিসাবে কিছু ব্যাখ্যা।

স্ট্রিং.স্প্লিটকে পাস করার জন্য ইনপুটটিতে অ্যালফানিউমারিক অক্ষরের একটি অ্যারে তৈরি করতে সেট ফাংশন ব্যবহার করে, তারপরে খালি স্ট্রিংগুলি ফিল্টার করতে, শব্দ সংখ্যা তৈরি করতে এবং ফলাফল মুদ্রণের জন্য সিকোয়েন্স ফাংশন ব্যবহার করে।

কিছু গল্ফিং ট্রিকস: স্পষ্টভাবে প্রকারটি ঘোষণার চেয়ে স্ট্রিং হিসাবে আর্গুমেন্টের ধরণের অনুক্রমকে জোর করার জন্য ফাংশন আর্গুমেন্টের একটি ফাঁকা স্ট্রিং যুক্ত করে। কয়েকটি অক্ষর সংরক্ষণ করার জন্য Seq.filter এর পরিবর্তে Seq. কোথাও ব্যবহার করুন (এগুলি প্রতিশব্দ)। অক্ষর হ্রাস করার প্রয়াসে ফরোয়ার্ড পাইপ এবং সাধারণ ফাংশন অ্যাপ্লিকেশন মিশ্রিত করে। <> ~ - এবং <|| এর চিকিত্সা করার জন্য কারিঙ এবং (বিকল্প) সিনট্যাক্স ব্যবহার করে অপারেটরগুলি খালি স্ট্রিং ফিল্টার করতে ল্যাম্বডাস ঘোষণাকে এড়াতে নিয়মিত ফাংশন হিসাবে অপারেটরগুলি নামিয়ে নেওয়ার গণনা এবং প্রিন্ট টিপলগুলি অনুসারে সাজান।


আপনার অবশ্যই কিছু ধরণের ব্যাখ্যা inোকানো উচিত; এইভাবে আমরা আপনার কোড বুঝতে পারি।
জাস্টিন

একটি অবজ্ঞাপূর্ণ সংস্করণ এবং কিছু ব্যাখ্যা যুক্ত করা হয়েছে।
mattnewport

2

পাইথন - 95 (এখন 87 টি প্রিয়াকে ধন্যবাদ)

d=__import__('re').findall(r'\w+',raw_input())
print sorted(map(lambda y:(y,d.count(y)),d))

নমুনা ইনপুট:

'This is a text and a number: 31'

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

[('This', 1),('is', 1), ('a', 2),('text', 1),('and', 1),('a', 2),('number', 1),('31', 1)]

যে কোনও উন্নতি সংশোধন প্রশংসা করা হবে


1
সমাধানটি দুর্দান্ত তবে আউটপুটটি সাজানো হয়নি।
এডুয়ার্ড ফ্লোরিয়েন্সু

আপনি বাছাই দ্বারা কি বোঝাতে চান? মন্তব্যের জন্য ধন্যবাদ.
Azwr

1
\wম্যাচ [a-zA-Z0-9_]। আপনার পুরো রেজেক্স দ্বারা প্রতিস্থাপন করা যেতে পারে r'\w+'। এছাড়াও, xভেরিয়েবলের প্রয়োজন হয় না, কেবল raw_input()দ্বিতীয় প্যারামিটার হিসাবে ব্যবহার করুন findall
প্রিমো

সাজানো অনুসারে, ওপিটির অর্থ হ'ল যে শব্দগুলি বেশিরভাগ ক্ষেত্রে প্রদর্শিত হয় তাদের প্রথমে তালিকাবদ্ধ করা প্রয়োজন। এছাড়াও, আপনার প্রোগ্রামটিতে একটি printবিবৃতি অন্তর্ভুক্ত করা উচিত (যেমন print map(...), অন্যথায় এটি সম্পূর্ণ প্রোগ্রাম নয়।
প্রিমো

আমি এই মুহূর্তে তা বাছাই করতে সময় নেই :( আমি তাড়ার মধ্যে আছি, পরামর্শ ও মন্তব্যের জন্য ধন্যবাদ।
Azwr

2

জাভাস্ক্রিপ্ট 160 144 (সম্পাদিত: প্রয়োজনীয়তা মেটাতে)

f=Function;o={};s.replace(/\w+/g,f('a','o[a]=++o[a]||1'));Object.keys(o).sort(f('b,c','return o[c]-o[b]')).map(f('k','console.log(k+" "+o[k])'))

Unminified:

f=Function;
o = {};
s.replace(/\w+/g, f('a','o[a]=++o[a]||1'));
Object.keys(o).sort(f('b,c', 'return o[c]-o[b]')).map(f('k','console.log(k+" "+o[k])'))

নিম্নলিখিত স্ট্রিংটি পাস করে প্রতিটি শব্দের সারণিতে লগ করে:

s="This is sam}}ple text 31to test the effectiveness of this code, you can clearly see that this is working-as-intended, but you didn't doubt it did you?.";

আউটপুট:

you 3
this 2
is 2
can 1
text 1
31to 1
test 1
the 1
effectiveness 1
of 1
This 1
code 1
sam 1
ple 1
clearly 1
see 1
that 1
working 1
as 1
intended 1
but 1
didn 1
t 1
doubt 1
it 1
did 1 

আমার ব্যবহার করার মতো হৃদয় নেই alert()


1
বাছাই করা উচিত নম্বর দ্বারা। ঘটনাগুলি তাই youপ্রথম হওয়া উচিত।
এডুয়ার্ড ফ্লোরিয়েন্সু

এমুয়ার্ডফ্লোরিয়েন্সু আমাকে বোকা ... আমি পরে এটি ঠিক করব।
জর্জ রিথ

@ এডওয়ার্ডফ্লোরাইনস্কু স্থির হয়েছে
জর্জ রিথ

-1। ইন্ডস্কোর _কোনও শব্দে অন্তর্ভুক্ত করা উচিত নয়।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

++o[a]||1=>-~o[a]
l4m2

2

কে [rs১ অক্ষর]

f:{s:" ",x;`_k!m@k:|(!m)@<.:m:#:'=`$1_'(&~((),/:s)like"[a-zA-Z0-9]")_s}

আলফানিউমেরিক অক্ষর ব্যতীত অন্য কোনও চরিত্রকে সীমানা হিসাবে বিবেচনা করা হবে।

উদাহরণ

f "This is a text and a number: 31."
a     | 2
31    | 1
number| 1
and   | 1
text  | 1
is    | 1
This  | 1

উদাহরণ

f "won't won won-won"
won| 4
t  | 1

2

জাভাস্ক্রিপ্ট (135)

u=/\w+/g
for(i=s.length;i--;)for(w in a=s.match(u))u[w=a[w]]=u[w]||a.reduce(function(p,c){return p+=w==c},0)==i&&!console.log(w+":"+i)

Unminified:

u=/\w+/g;for (i=s.length;i--;)
    for(w in a=s.match(u))
        u[w=a[w]] = u[w] || 
           a.reduce(function(p,c){return p+=w==c},0)==i && !console.log(w+":"+i)

অবতরণ ক্রমে ম্যাচের প্রতিটি সম্ভাব্য সংখ্যার উপরে লুপ করে এবং সংখ্যার সংখ্যার সাথে শব্দগুলি আউটপুট করে। শুধু ভয়ঙ্কর হতে।

দ্রষ্টব্য: সতর্কতাটির দৈর্ঘ্য কিছুটা হ্রাস হত। কঠোরভাবে আলফানিউমেরিক হওয়া উচিত[^\W_]


2

হাস্কেল (153 = 104 কোড + 49 আমদানি)

বেশ সোজা-এগিয়ে, সম্পূর্ণ রচিত ফাংশন ... কোনও যুক্তি এমনকি প্রয়োজনীয় নয়! এটি আমার প্রথম গল্ফ, তাই সহজে যান, সম্ভবত? :)

import Data.Char
import Data.List
import Data.Ord
so=reverse.(sortBy$comparing snd).(map(\t@(x:_)->(x,length t))).group.sort.(map$filter isAlphaNum).words

আউটপুট:

*Main> so "This is a text and a number: 31."
[("a",2),("text",1),("number",1),("is",1),("and",1),("This",1),("31",1)]

2

কিউ (50)

desc count each group" "vs ssr[;"[^0-9A-Za-z]";" "]
  • ssr অ-বর্ণমালা প্রতিস্থাপন করে
  • "" বনাম ফলাফলকে একটি প্রতীক তালিকায় বিভক্ত করে
  • প্রতিটি গ্রুপ গণনা অনুসারে সংখ্যার সাথে তালিকার পৃথক উপাদানগুলির সাথে মিলে একটি ডিক তৈরি করে
  • ডেস্ক নিম্নোক্ত মানগুলি দ্বারা ডিকটি বাছাই করে

সম্পাদনা করুন: দুর্ঘটনাবশত 58-64 এবং 91-96 এর সাথে মিলছে matching


1
আমার কোন জ্ঞান নেই qতবে রেজেক্স [0-z]এএসসিআইআই ভিত্তিক? যদি এটি হয় তবে এটিতেও ASCII অক্ষর 58-64 অন্তর্ভুক্ত হবে না? কারণ তারা : ; < = > ? @
jimbobmcgee

দুর্দান্ত জিম্বোবকে ধন্যবাদ, ধন্যবাদ
রাত্রিযাত্রা

আপনাকে স্বাগতম; কেবল স্পটযুক্ত কারণ আমি সি # তে একই দেখতে পেয়েছি। দুঃখের বিষয়, একই সাথে [A-z]যা ASCII 91-96 এর সাথে মেলে, যা `[\] ^
_`

আহ ঠিক আছে আপনি, সুন্দর সামান্য আসকি পাঠ ঠিক আছে!
নাইটট্রেভরস

আমি কেবলমাত্র [^_\W]+আমার জন্য আবিষ্কার করেছি , যা "\W
শব্দহীন

2

খাঁটি বাশ (কোনও বাহ্যিক প্রোগ্রাম নেই), 164

এটি আমার প্রত্যাশার চেয়ে দীর্ঘতর, তবে আমি দেখতে চেয়েছিলাম প্রয়োজনীয় গণনা এবং বাছাই (সঠিক দিকের দিকে) বিশুদ্ধরূপে bashঅ্যারে (সংঘবদ্ধ এবং অ-সহযোগী) হতে পারে কিনা :

declare -A c
for w in ${@//[[:punct:]]/ };{ ((c[$w]++));}
for w in ${!c[@]};{ i=${c[$w]};((m=i>m?i:m));s[$i]+=$w:;}
for((i=m;i>0;i--));{ printf "${s[i]//:/:$i
}";}

স্ক্রিপ্ট ফাইল হিসাবে সংরক্ষণ করুন chmod +x, এবং চালান:

/ ./countoccur এটি একটি পাঠ্য এবং একটি সংখ্যা: 31।
একটি: 2
এবং: 1
1 নম্বর
পাঠ্য: 1
31: 1
: 1
এই: 1
$ 

2

awk

awk -vRS='[^A-Za-z0-9]' '$0{c[$0]++}END{for(i in c)print c[i]"\t"i": "c[i]|"sort -nr|cut -f2-"}'

গ্যাঙ্কিশ এক্সটেনশন ছাড়াই কাজটি করে:

$ echo 'This is a text and a number: 31.' | awk -vRS='[^A-Za-z0-9]' '$0{c[$0]++}END{for(i in c)print c[i]"\t"i": "c[i]|"sort -nr|cut -f2-"}'
a: 2
This: 1
text: 1
number: 1
is: 1
and: 1
31: 1

পরিবর্তে "গণনা: শব্দ" মুদ্রণ করা হলে এটি কিছুটা ছোট হবে তবে আমি প্রদত্ত উদাহরণের আউটপুটটি নকল করতে চাই ...



1

পাইথন 2.X (108 - অক্ষর)

print'\n'.join('{}:{}'.format(a,b)for a,b in __import__("collections").Counter(raw_input().split()).items())

পাইথন 3.X (106 - অক্ষর)

print('\n'.join('{}:{}'.format(a,b)for a,b in __import__("collections").Counter(input().split()).items())

Separators will be anything that is not alpha-numeric- আপনি কেবল হোয়াইটস্পেসে বিভক্ত হন।
দানিরো

1

হাস্কেল - 137

import Data.List
count text=let textS=(words(text\\".-\':")) in (sortBy (\(_,n) (_,m) -> compare m n)).nub$map(\t->(t,(length.(filter(==t)))textS)) textS

শর্তটি পূরণ করে না যে অ-বর্ণচিহ্নগুলি পৃথককারী হওয়া উচিত।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

1

পাইথন 3 - 76

অ-অক্ষরীয় অক্ষরগুলিতে বিভাজনের প্রয়োজনীয়তা দুর্ভাগ্যক্রমে কোডটি 19 টি দ্বারা প্রসারিত করে। নীচের আউটপুটটি সঠিকভাবে দেখানো হয়েছে। আপনি যদি নিশ্চিত না হন তবে এর .most_common()পরে একটি যুক্ত করুন .Counter(...)

i=__import__
print(i('collections').Counter(i('re').findall('\w+',input())))

ইন / আউটপুট

আপনার ইনপুট দেওয়া This is a text and a number: 31.নিম্নলিখিত আউটপুট পেতে:

Counter({'a': 2, 'is': 1, 'This': 1, 'and': 1, '31': 1, 'number': 1, 'text': 1})

আমি অন্যান্য মান হিসাবে এটি চেষ্টা করে

1 2 3 4 5 6 7 8 2 1 5 3 4 6 8 1 3 2 4 6 1 2 8 4 3 1 3 2 5 6 5 4  2 2 4 2 1 3 6

নিশ্চিত করার জন্য, আউটপুট ক্রম কী এর মান / হ্যাশের উপর নির্ভর করে না। এই উদাহরণ উত্পাদন করে:

Counter({'2': 8, '3': 6, '1': 6, '4': 6, '6': 5, '5': 4, '8': 3, '7': 1})

তবে আমি যেমন বলেছি, টিউপসগুলিরprint(i('collections').Counter(i('re').findall('\w+',input())).most_common()) একটি সুনির্দিষ্টভাবে আদেশিত তালিকা হিসাবে ফলাফলগুলি ফিরিয়ে দেবে ।


পাইথন 3 - 57 (কোনও স্থান বিভাজনের জন্য পর্যাপ্ত হবে: পি)

print(__import__('collections').Counter(input().split()))

যদি আপনি ধরে নিয়ে থাকেন যে স্ট্রিংটি কিছু পরিবর্তনশীলগুলির মধ্যে রয়েছে, যেমন কিছু অন্যান্য উত্তর দেয় তবে আপনি ইনপুট () প্রতিস্থাপন করে characters টি অক্ষর হারাতে পারেন।
ফিল এইচ

@ ফিলফ ভাল। আপনি ঠিক বলেছেন, কিন্তু আমি প্রয়োজনের বাইরে কখনও পড়তে চাই না। নিশ্চিত যে "জাভাস্ক্রিপ্টের জন্য স্ট্রিং"-পার্ট এটির পরামর্শ দিতে পারে, তবে আমি পরিষ্কার বিবেক দিয়ে স্ট্রিং-ভেরিয়েবলকে বৈধ "ইনপুট" হিসাবে ব্যাখ্যা করতে পারি না। তবে আপনি ঠিক বলেছেন। এটি আরও ছোট করে তুলবে। : পি
ডেভ জে

-1। ইন্ডস্কোর _কোনও শব্দে অন্তর্ভুক্ত করা উচিত নয়।
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

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