স্ট্রিংটি পাসওয়ার্ড করুন


31

আপনার চ্যালেঞ্জটি স্ট্রিংটিকে পাসওয়ার্ড করা! পাসওয়ার্ডিং কী?

ইনপুট হিসাবে একটি স্ট্রিং নিন। এই স্ট্রিংয়ে কেবল বড় হাতের অক্ষর, ছোট হাতের অক্ষর, অঙ্ক এবং স্পেস থাকবে।

আপনাকে অবশ্যই সমস্ত স্পেসকে আন্ডারস্কোর দিয়ে প্রতিস্থাপন করতে হবে এবং সমস্ত সংখ্যাটি স্ট্রিংয়ের শেষের দিকে সজ্জিত করতে হবে যাতে তারা বাম থেকে ডানে প্রদর্শিত হয়। তারপরে, স্ট্রিংয়ের প্রতিটি বর্ণের জন্য, এলোমেলোভাবে এটিকে বড় হাতের বা ছোট হাতের অক্ষরে পরিবর্তন করুন।

উদাহরণ (অক্ষরের ক্ষেত্রে প্রতিবার পৃথক হওয়া উচিত):

Input
Hello world
Output
HElLo_wORld

Input
pa55 w0rd
Output
pA_Wrd550

Input
14 35
Output
_1435

Input
0971
Output
0971

Input
[space]
Output
_

বাইটের মধ্যে সংক্ষিপ্ততম কোড জয়!

যে কেউ তথ্য সুরক্ষা এসই তে জিজ্ঞাসা করে যদি এটি একটি ভাল হ্যাশিং অ্যালগরিদম জয়ী হয়! - এসই ওভারলর্ডদের চিন্তা করবেন না, আমি মজা করছি।


47
গ্রেট। এখন আপনি আমার স্কিম প্রকাশ করেছেন। ফিরে
এসো,

8
এটি এমনকি একটি পাসওয়ার্ড হ্যাশিং অ্যালগরিদমও নয় ... এটি সিকিউরিটি এসই এক্সডি-তে আগুন দিয়ে হত্যা করা হবে
জাস্টিন


4
এটি এলোমেলোভাবে তৈরি করা ভাল হ্যাশিং অ্যালগো নয়
ক্যালকুলেটরফ্লাইন

6
আমি উত্তরগুলির কয়েকটি পাসওয়ার্ড হিসাবে ব্যবহার করতে প্রলুব্ধ হলাম
মিকিটি

উত্তর:


12

পাইথ, 15 বাইট

s}D`MTrRO2Xzd\_

প্রদর্শন

s}D`MTrRO2Xzd\_
                   Implicit: z = input(), d = ' '
          Xzd\_    In z, replace ' ' with '_'.
      rR           To each character, apply r-function
        O2         Randomly 0 or 1. r 0 is lowercase, r 1 is uppercase.
 }D                Order the characters based on presence in
   `MT             The strings of the numbers 0 to 9.
s                  Concatenate into a string.

27

ল্যাবরেথ , 76 বাইট

 `:_64/"32}
,`    (3  :=-{
"`{"; _v2$  ;`3
"`".:@ ; ".5(`3.
<       "" `^`;>

@ মার্টিনব্যাটনার এর সাথে এবং ল্যাবরেথ বর্ণালীটির আরও উন্মাদ দিকের আরও একটি কোলাব - প্রথমবারের মতো আমরা ^>v<একটি প্রোগ্রামে চারটিই পেয়েছি । এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

একটি লুপে সঞ্চালিত সাধারণ অ্যালগরিদমটি নিম্নরূপ:

 1.   Read a char
 2.   If EOF:
 3.     Move all digits from auxiliary stack to main
 4.     Output all digits on main stack
 5.     Halt
      Otherwise:
 6.     If char is a letter (c >= 64):
 7.       If random turns left:
 8.         Output char XOR 32
          Otherwise:
 9.         Output char
        Otherwise:
10.       Shift char to auxiliary stack
11.       If char is space (c-32 == 0):
12.         Pull char back from auxiliary stack
13.         Output underscore
          Otherwise:
14.         Continue loop

ব্যাখ্যাটি সংক্ষিপ্ত রাখতে, প্রোগ্রামটির প্রতিটি অংশ উপরের সিউডোকোডের সাথে কীভাবে মিল রয়েছে তা এখানে:

এখানে চিত্র বর্ণনা লিখুন

আকর্ষণীয় অংশ এখানে।

ল্যাবরেথে এলোমেলোভাবে প্রাপ্তি

লাইব্রের্থে এলোমেলোভাবে পাওয়ার একমাত্র উপায় আছে এবং আইপি যখন এগিয়ে যাওয়ার চেষ্টা করে তবে 1) পাথের সামনে বা পেছনের দিকটিও নেই এবং 2) বাম এবং ডানদিকে উপলভ্য উপায় রয়েছে। এই ক্ষেত্রে, আইপি এলোমেলোভাবে বাম এবং ডান রুটের মধ্যে নির্বাচন করে।

এটি কেবল ^>v<অপারেটরগুলি ব্যবহার করেই সম্ভব , যা nসারি / কলামটি পপ করে এবং n১ দিয়ে দূরে সরিয়ে দেয় For উদাহরণস্বরূপ, প্রোগ্রাম ( অনলাইনে এটি চেষ্টা করুন! )

" 1
""v!@
  2
   !@

1 বা 2 এলোমেলোভাবে আউটপুট দেয়, যেহেতু 1 টি vদিয়ে অফসেট 0 (অর্থাত আইপি চালু আছে) দিয়ে কলামটি স্থানান্তরিত হয়, ফলন হয়

"
""1!@
  v
  2!@

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

গল্ফ কৌশল

  • প্রোগ্রামটি প্রথমে পাঠের ক্রম থেকে শুরু হয়, যা আপনি দেখতে পাচ্ছেন যে এটি আসলে step ধাপ However একটি অপ-বিকল্প

  • মূল স্ট্যাকটি প্রতিটি পুনরাবৃত্তির পরে কার্যকরভাবে খালি হয়, যা আমাদের নীচে উল্লিখিত শূন্যগুলি ব্যবহার করে >এবং কোড লেআউটটি গল্ফ করতে দেয় <>নিচের সারি গোপন কাছাকাছি যাতে নীচে বাঁদিকের নীচে ডান দিক থেকে আইপি প্যাচসমূহ, এবং <বদল আনতে সারি ফিরে। আইপিটি তখন খুশিতে লুপটি চালিয়ে যেতে বাম কলামটি উপরে নিয়ে যায়।

  • ল্যাবরেথ পপ nএবং ধাক্কা মধ্যে সংখ্যা 10*n + <digit>। এছাড়াও, আউটপুট হওয়ার আগে অক্ষরগুলি 256 মডিউল নেওয়া হয়। এই দুটি একসাথে রেখে আমাদের `3332 (স্পেস) দিয়ে 95 (আন্ডারস্কোর) আউটপুট দেয় , কারণ এটি কাজ করে -3233 % 256 = 95। যদিও 32 টি 95 তে পরিণত করার অন্যান্য উপায় রয়েছে ( ;95সবচেয়ে সহজ হচ্ছে), এখানে নেতিবাচক সংখ্যার সাথে কাজ করা আমাদের বাম বাঁক দিয়ে কোডটি কিছুটা সংক্ষিপ্ত করতে সহায়তা করে।


2
আমার পাসওয়ার্ড খুঁজতে এই অ্যালগরিদমটি ব্যবহার করার চেষ্টা করা প্রতিটি আক্রমণকারীই অবশ্যই হারিয়ে যাবে তা নিশ্চিত ...
J_F_B_M

3
আমি এই প্রোগ্রামটি কেবল আমার পাসওয়ার্ড হিসাবে
ILikeTacos

8

05 এ বি 1 ই , 22 21 20 বাইট

কোড:

þ¹žh-s«ð'_:vyždÈiš}?

ব্যবহার সিপি-1252 এনকোডিং।

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


2
05AB1E কোডটি পুরানো ইংরাজির মতো দেখতে কিছুটা দারুণ দেখাচ্ছে :-)
লুইস মেন্ডো


7

সিজেম , 25 বাইট

lelS'_er{58<}${2mr{eu}&}%

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

ব্যাখ্যা

আমার এমএটিএল উত্তরের অনুবাদ।

l                            e# read line as a string
 el                          e# make lowercase
   S'_er                     e# replace spaces by underscores
        {58<}$               e# (stable) sort with key "is digit"
              {        }%    e# map block over the string
               2mr           e# generate 0 or 1 equiprobably
                  {eu}&      e# if it's 1, make uppercase

7

সিজেম, 23 বাইট

lS'_er{60<}${eu_el+mR}%

এটি এখানে পরীক্ষা করুন।

ব্যাখ্যা

l       e# Read input.
S'_er   e# Turn spaces into underscores.
{60<}$  e# Sort (stably) by whether the character is a digit or not. This moves digits
        e# to the end, without changing the relative order within digits or non-digits.
{       e# Map this block over the characters...
  eu    e#   Convert to upper case.
  _el   e#   Make a copy and convert to lower case.
  +     e#   Join them into one string.
  mR    e#   Randomly choose one of the characters. Of course, this entire block is a
        e#   no-op for non-letter characters.
}%

7

পাইথন, 107 বাইট

from random import*
lambda s:''.join([choice(c+c.swapcase()),'_'][c<'!']for c in sorted(s,key=str.isdigit))

অন্য দুটি পাইথন জবাবগুলির উন্নতি কারণ:

  • [...,'_'][c<'!']পরিবর্তে ব্যবহার করা হয় s.replace(' ','_'), এবং
  • choice(c+c.swapcase()) পরিবর্তে ব্যবহৃত হয় choice([c.upper(),c.lower()])

ওহ, দুর্দান্ত উন্নতি। দুর্দান্ত উত্তর! আমার কাছ থেকে +1
DJMcMayhem

7

জাভাস্ক্রিপ্ট (ES6), 114 101 বাইট

s=>s.replace(/./g,c=>c>'9'?c[`to${Math.random()<.5?"Low":"Upp"}erCase`]():c>' '?(s+=c,''):'_',s='')+s

একটি চরিত্রের ক্ষেত্রে এলোমেলোভাবে 47 বাইট ...

সম্পাদনা করুন: @ এডসি 65 এর জন্য একটি বিশাল 13 বাইট সংরক্ষণ করা।


আমি আবার পার্টিতে দেরি করছি। লো / ইউপি দুর্দান্ত! তবে বাকিগুলি সহজ হতে পারে:f=s=>s.replace(/./g,x=>x>'9'?x[`to${Math.random()<.5?"Low":"Upp"}erCase`]():x>' '?(s+=x,''):'_',s='')+s
edc65

@ edc65 বাহ! এমনকি কেবল স্থান / আন্ডারস্কোর প্রতিস্থাপনের সাথে উপরের / লোয়ার কেস প্রতিস্থাপনের সাথে দুটি বাইট সংরক্ষণ করে তবে এটি দুর্দান্ত!
নীল

7

এমএটিএল , 27 বাইট

k32'_'XEt58<2$S"@rEk?Xk]]v!

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

k         % implicit input. Make lowercase. Non-lettters are not affected
32'_'XE   % replace spaces by underscores
t58<      % duplicate. Create logical index: true for digits, false otherwise
2$S       % sort first string according to second. Sort is stable
"         % for each character in that string
  @       %   push that character
  rEk     %   generate 0 or 1 with 1/2 probability each
  ?       %   if it's a 1
    Xk    %     make uppercase. Non-letters are not affected
  ]       %   end if
]         % end for each
v         % vertically concatenate all stack contents
!         % transpose into a row char array, i.e. a string. Implicit display

5

পাইথন 3, 128 122 118 অক্ষর

from random import*
s=lambda x:''.join(choice(i.upper()+i.lower())for i in sorted(x.replace(' ','_'),key=str.isdigit))

Xnor কে 6 বাইট শেভ করার জন্য ধন্যবাদ


এটি বাছাইয়ের শেষে নম্বরগুলি পেতে সংক্ষিপ্ত দেখাচ্ছে:lambda x:''.join(choice([i.upper(),i.lower()])for i in sorted(x.replace(' ','_'),key=str.isnumeric))
xnor

@ এক্সনোর ধন্যবাদ! আমার সত্যিই
ল্যাম্বডাস

5

পার্ল 6, 77 75 61 বাইট

{[~] |S:g/' '/_/.comb(/\D/)».&{(.lc,.uc).pick},|.comb(/\d/)}

S///ভালো হয় s///এটি পরিবর্তন নেই ব্যতীত $_জায়গায়


4

পাইথ, 17 বাইট

smrdO2o}N`UT:zd\_

এখানে চেষ্টা করুন!

ব্যাখ্যা

smrdO2o} N`UT: zd \ _ # z = ইনপুট

            : zd \ _ # স্পেসগুলি আন্ডারস্কোর দিয়ে প্রতিস্থাপন করুন
      o # বাছাই করুন key কী ফাংশন সহ (এন)
       "0123456789" এ `N`UT # N, সংখ্যার জন্য 1 দেয় যাতে তারা ডানদিকে সাজান
 মি # মানচিত্রের প্রতিটি অক্ষর d এর ^
  rdO2 # র্যান্ডমগুলিকে উপরের বা ছোট হাতের কাছে রূপান্তর করুন
s # যোগ তালিকার এক স্ট্রিংয়ে ফিরে

4

গণিত, 86 বাইট

1 বাইট সংরক্ষণের জন্য Sp3000 ধন্যবাদ।

RandomChoice[{ToLowerCase,Capitalize}]@#/." "->"_"&/@Characters@#~SortBy~{DigitQ}<>""&

আহ, স্ট্রিং প্রসেসিং ম্যাথমেটিকা ​​... এটা সুন্দর নয়। এটি একটি নামবিহীন ফাংশন যা একটি স্ট্রিং গ্রহণ করে এবং প্রদান করে।

সমস্ত সিনট্যাকটিক চিনির কারণে, পড়ার ক্রমটি কিছুটা মজার:

Characters@#

স্ট্রিংগুলিকে অক্ষরগুলিতে বিভক্ত করুন, অন্যথায় আমরা এর সাথে কিছুই করতে পারি না।

...~SortBy~{DigitQ}

অঙ্কগুলি শেষ পর্যন্ত বাছাই করে। একটি তালিকায় পরীক্ষার কার্যটি মোড়ানো দ্বারা, আমরা বাছাই স্থিতিশীল করি।

...&/@...

তালিকার প্রতিটি চরিত্রের উপর বাম হাতের ক্রিয়াটি মানচিত্র করুন।

RandomChoice[{ToLowerCase,Capitalize}]

বর্তমান চরিত্রের জন্য একটি এলোমেলো কেস-চেঞ্জিং ফাংশন চয়ন করে।

...@#...

এটি বর্তমান চরিত্রটিতে প্রয়োগ করে।

.../." "->"_"

আন্ডারস্কোর সহ স্পেসগুলি প্রতিস্থাপন করে।

...<>""

সবশেষে সমস্ত অক্ষর এক সাথে স্ট্রিনে যোগ দেয়।


3

পাওয়ারশেল, 113 বাইট

-join([char[]]$args[0]-replace" ","_"|%{if($_-match"\d"){$d+=$_}else{"'$_'.To$("Low","Upp"|random)er()"|iex}})+$d

পাওয়ারশেল হ'ল ভয়ঙ্কর গল্ফিং ভাষা। চর অ্যারেতে বিভক্ত করুন এবং স্পেসগুলি আন্ডারস্কোর সহ প্রতিস্থাপন করুন। প্রতিটি চরিত্র এবং প্রক্রিয়া নিন। পরের আউটপুট জন্য পরিবর্তনশীল $ d মধ্যে সংখ্যা সংগ্রহ করুন। একে অপরের চরিত্র এলোমেলোভাবে ব্যবহার একটি অভিব্যক্তি আবাহন করার মাধ্যমে বড় হাতের বা ছোট হাতের অক্ষর ব্যবহার পরিণত করতে 'char'.ToLower()বা 'char'.ToUpper()। যদি কোনও অঙ্ক সংগ্রহ করা হয় তবে তাদের শেষে যুক্ত করুন।


পাওয়ারশেল দুর্দান্ত এবং সমস্ত কিছু করে। : ডি আপনি ব্যবহার করে $_-in0..9এবং -inঅপারেটরটি রিজেক্সের পরিবর্তে পাওয়ারশেল ভি 3 তে চালু করে একটি দম্পতি বাইট সংরক্ষণ করতে পারেন -match
অ্যাডমবর্কবার্ক

3

জুলিয়া, 88 87 78 বাইট

s->join([c<33?'_':rand([ucfirst,lcfirst])("$c")for c=sort([s...],by=isdigit)])

এটি একটি অনামী ফাংশন যা একটি স্ট্রিং গ্রহণ করে এবং একটি স্ট্রিং প্রদান করে। এটি কল করতে, এটি একটি ভেরিয়েবলের জন্য বরাদ্দ করুন।

প্রথমে আমরা ইনপুট স্ট্রিংটিকে এর অক্ষরগুলির একটি অ্যারে ভাঙ্গি এবং প্রতিটি অক্ষর একটি অঙ্ক কিনা তা অনুসারে অ্যারেটিকে সাজান sort এটি পাঠ্য এবং অঙ্কগুলিতে শৃঙ্খলা বজায় রাখে তবে শেষ পর্যন্ত অঙ্কগুলিকে ধাক্কা দেয়। তারপরে, অ্যারের প্রতিটি চরিত্রের জন্য, আমরা এটি স্থান কিনা তা পরীক্ষা করে দেখি। যদি তা হয় তবে একটি আন্ডারস্কোর দিয়ে প্রতিস্থাপন করুন, অন্যথায় এলোমেলোভাবে একটিতে চয়ন করুন ucfirstবা lcfirstচরিত্রের জন্য প্রয়োগ করতে পারেন, যার ফলে যথাক্রমে এটিকে উপরের বা ছোট হাতের অক্ষরে রূপান্তরিত করুন। একটি স্ট্রিং মধ্যে অ্যারে যোগদান করুন এবং আমরা সম্পন্ন!

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

Sp3000 ধন্যবাদ 9 বাইট সংরক্ষণ করা!


2

পার্ল, 51 48 বাইট

জন্য +2 অন্তর্ভুক্ত -lp

এসটিডিআইএন ইনপুট দিয়ে চালান:

perl -lp passwordify.pl <<< "Hel1lo wo4rld"

passwordify.pl:

s%\pL%$&^$"x rand 2%eg;$_=y/ 0-9/_/dr.s/\D//gr

1

ফ্যাক্টর, 154 বাইট

বা আমদানি সহ 222 kernel splitting sequences ascii combinators.random regexp

: f ( x -- y ) R/ \d/ R/ \D/ [ all-matching-subseqs ] bi-curry@ bi [ { [ >upper ] [ >lower ] } call-random ] map [ "" join ] bi@ " " "_" replace prepend ;

আমি ফ্যাক্টরটিতে গল্ফ করাতে খুব ভাল নই, এবং আমি নিশ্চিত নই যে আমি এখানে সেরা পন্থাটি গ্রহণ করেছি কিনা, তবে ভেবেছিলাম আমি এটিকে আরও একবার দিতাম


1

রুবি, 84 বাইট

বেনামে ফাংশন। স্থানটি অপসারণের আগে c.downcaseকোনও কারণে সিন্ট্যাক্স ত্রুটির কারণ হয় এবং আমি কেন তা নিশ্চিত নই।

->s{q="";s.gsub(/./){|c|c=~/\d/?(q+=c;p):c==" "??_:rand<0.5?c.upcase: c.downcase}+q}

1

লুয়া, 125 বাইট

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

s=""print((...):gsub("%d",function(d)s=s..d return""end):gsub("%s","_"):gsub("%a",1<math.random(2)and s.upper or s.lower)..s)

অবহেলিত এবং ব্যাখ্যা

s=""                       -- Initialise the string that will contains the digits
print((...)                -- apply the following to the argument then print it
  :gsub("%d",function(d)   -- iterate over the digits
    s=s..d                 -- concatenate them in s
    return""               -- remove them from the arg
   end)
  :gsub("%s","_")          -- replace spaces by underscores
  :gsub("%a",              -- iterate over letters
    1<math.random(2)       -- pick a random integer between 1 and 2
      and s.upper          -- if it is 2, use the function upper() of object s
      or s.lower)          -- else, use the function lower() of object s
  ..s)                     -- concatenate with s


1

আইপিওএস - প্রতিযোগী নয়, 14 বাইট

S'_RE`N-`dE!k?

হ্যাঁ, আমি এই চ্যালেঞ্জের জন্য বিল্টিনগুলি যুক্ত করেছি তবে সেগুলি বিশেষত এই সমস্যার জন্য লক্ষ্যযুক্ত নয়।

এটি দোভাষীর 0.1 সংস্করণে কাজ করে ।

উদাহরণ রান

> অজগর IPOS.py S'_RE SN-`dE! কে? -i "pa55 w0rd"
Pa_WrD550

ব্যাখ্যা

     # অন্তর্নিহিত: স্ট্যাকের ইনপুট রাখুন (সি)
এস # স্ট্যাকের জন্য একটি স্থান ধাক্কা (খ)
'_ # স্ট্যাকের একটি আন্ডারস্কোর চাপুন (এ)
আর # সি তে বি এর পরিবর্তে এ -> স্পেস সহ আন্ডারস্কোরগুলি প্রতিস্থাপন করুন
     # স্ট্যাকটিতে এখন কেবল প্রতিস্থাপিত স্ট্রিং (সি) রয়েছে
E # একটি খালি স্ট্রিং পুশ করুন (বি)
`# আক্ষরিক কমান্ড শুরু করুন,
     # এটির জন্য স্ট্যাকটি পরে একটি একক অক্ষর (বি) দিয়ে শুরু হয়
এন # স্ট্যাকের (এ) স্ট্রিং হিসাবে 0-9 অঙ্কগুলি টিপুন
- # বিতে থাকা প্রতিটি চরিত্রকে সরান
`# শেষ কমান্ড আক্ষরিক (A)
ডি # বি তে বিভক্ত সি, কী এর সাথে উত্থিত অংশগুলি বাছাই করুন এবং বি তে ফিরে যোগদান করুন
     # কী ফাংশন একটি স্ট্রিংয়ের প্রতিটি অক্ষরকে একটি খালি স্ট্রিংয়ে রূপান্তরিত করে যদি এটি অঙ্ক হয়।
     # যেহেতু ফলাফলের চরটিতে কোনও অঙ্ক থাকে না, এর মূল মান এটি দৈর্ঘ্য।
     # এটি 0 টির অঙ্কগুলি এবং অ-সংখ্যার কী 1 টি মানচিত্র করে। অবতরণ এ বাছাই
     # ক্রমটি অঙ্কগুলি ডানদিকে নিয়ে যায় এবং অ-সংখ্যাগুলি আগে যেভাবে থাকে সেটিকে ছেড়ে দেয়।
E # একটি খালি স্ট্রিং পুশ করুন
! k # কমান্ডটি চাপুন কে (= স্বাপকেস)
? প্রতিটি চরিত্রের এলোমেলোভাবে # প্রয়োগ করুন
     # অন্তর্ভুক্ত: আউটপুট স্ট্যাক সামগ্রী

1

পিএইচপি, 368 বাইট

$str = "pa55 w0rd";
$str = str_replace(" ","_",$str);
$output AND $numStr = "";
$numArray = ['0','1','2','3','4','5','6','7','8','9'];
for($i=0;$i<strlen($str);$i++){
    in_array($str[$i],$numArray)?($numStr = $numStr.$str[$i]):((rand(10,100)%2==0)?$str[$i] = strtoupper($str[$i]) AND $output = $output.$str[$i]:$output = $output.$str[$i]);
}
echo $output = $output.$numStr;

অবহেলিত কোড:

$str = "pa55 w0rd";
$str = str_replace(" ","_",$str);
$len = strlen($str);
$output = "";
$numStr = "";
$numArray = ['0','1','2','3','4','5','6','7','8','9'];
for($i=0;$i<$len;$i++){
  if(in_array($str[$i],$numArray)){
    $numStr = $numStr.$str[$i];
  }else {
      if(rand(10,100)%2==0)
      {
        $str[$i] = strtoupper($str[$i]);
      }
      $output = $output.$str[$i];
  }
}
$output = $output.$numStr;
echo $output;

এটি দুর্দান্ত শুরু, তবে আপনি এটিকে আরও অনেক বেশি গল্ফ করতে পারেন। দয়া করে সমস্ত ভেরিয়েবলকে 1-চর নামে পরিবর্তন করুন এবং অতিরিক্ত সাদা স্থান সরিয়ে ফেলুন। আপনি যখন এটি করেন, এটি প্রথম শ্রেণীর গল্ফ হবে!
NoOneIs এখানে

0

পাইথন 2, 179 বাইট

from random import*
f=lambda s,a=[str.upper,str.lower],n='0123456789':''.join(map(lambda x:choice(a)(x),filter(lambda x:x not in n,s).replace(' ','_')))+filter(lambda x:x in n,s)

উন্নতির জন্য এখানে সম্ভবত অনেক জায়গা রয়েছে যা আমি পরে কাজ করব।


0

এডাব্লুকে, 128 বাইট

{srand();for(;++i<=split($0,a,"");){s=a[i];if(s!=s+0){o=s==" "?"_":rand()>0.5?tolower(s):toupper(s);A=A o}else{N=N s}}print A N}

srand()আমাদের বিভিন্ন র্যান্ডম সংখ্যা প্রতিবার এটি সঞ্চালিত হয় দিতে প্রয়োজন হয়।
এটি মাল্টি-লাইন ইনপুটটির সাথে সঠিকভাবে কাজ A=N=""করার জন্য আমাদের forলুপের আগে কিছু রাখার দরকার আছে ।


0

পাইথন 3.5 - 118 বাইট:

from random import*
lambda y:''.join(choice([q.upper(),q.lower()])for q in sorted(y.replace(' ','_'),key=str.isdigit))

যেমন আপনি দেখতে পাচ্ছেন, আমি choiceপ্রদত্ত স্ট্রিংয়ের সাজানো সংস্করণে প্রতিটি অক্ষরের জন্য একটি র্যান্ডম ফাংশন (হয় .upper () বা। নিম্নতর ()) চয়ন করতে আমি মূলত র্যান্ডম মডিউলটির ফাংশনটি ব্যবহার করছি , যেখানে সমস্ত অঙ্কগুলি চলে যায় শেষ. এছাড়াও, প্রতিটি স্থান সাজানো স্ট্রিংয়ের আন্ডারস্কোর দিয়ে প্রতিস্থাপন করা হয়।


0

পিএইচপি, 164 চারস / বাইট

এটি অন্যান্য পিএইচপি গল্ফের চেয়ে ভাল , কারণ:

  • এটি ইনপুট লাগে
  • এটা খাটো

লিপি

<?$a=$b='';foreach(str_split(strtolower($argv[1]))as$c){if($c==' ')$c='_';if(preg_match("/[0-9]/",$c))$a.=$c;else$b.=(rand(0,1)?$c:strtoupper($c));}echo$b.$a;

উদাহরণ

php password.php 'thats some 1337 shit'

ThATs_Some__sHiT1337


0

> <> , 73 বাইট

 i:"@")?v:" ")?v0) ?\rl?!;o01!.<
 v8<    8>00.! <o"_"/
8<>x<%*4/^o+*
 ^c<

এখানে পাগল কিছুই নয়, এটি:

  • _এটি মুখোমুখি হলে মুদ্রণ 
  • অক্ষরগুলির মোড 32 নিয়ে যায়, তারপরে এলোমেলোভাবে এগুলি মুদ্রণের আগে 8 * 8 বা 12 * 8 যোগ করে
  • নম্বর স্ট্যাক করে এবং ইনপুটটির শেষে পৌঁছে গেলে সেগুলি মুদ্রণ করে

আপনি এটি এখানে চেষ্টা করতে পারেন !


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