ตัวย่อเป็นวลี


12

งาน:

สร้างโปรแกรมที่จะใช้ตัวย่อเป็นอินพุทdftbaและสร้างวลีที่เป็นไปได้ที่ตัวย่อสามารถยืนได้ คุณสามารถใช้ wordlist เป็นการป้อนคำ แรงบันดาลใจจากhttps://www.youtube.com/watch?v=oPUxnpIWt6E

ตัวอย่าง:

input: dftba
output: don't forget to be awesome

กฎ:

  • โปรแกรมของคุณไม่สามารถสร้างวลีเดียวกันทุกครั้งสำหรับตัวย่อเดียวกันต้องมีการสุ่ม
  • อินพุตจะเป็นตัวพิมพ์เล็กทั้งหมด
  • โพสต์ตัวอย่างเล็กน้อย (อินพุทและเอาท์พุท)
  • ยอมรับภาษาใดก็ได้
  • มันเป็นการโหวตมากที่สุดจึงชนะ!

กรุณาแสดงตัวอย่างผลลัพธ์
Mukul Kumar

@MukulKumar เพิ่ม
TheDoctor

1
มันจะต้องมีความหมาย? หรือการรวมกันใด ๆ
Mukul Kumar

ไม่จำเป็นต้องมีความหมาย
TheDoctor

ผู้ใช้ได้รับอนุญาตให้เรียกใช้โปรแกรมกี่ครั้ง เมื่อถึงจุดหนึ่งโปรแกรมก็ทำผิดกฎ # 1 ไม่ได้
Mr Lister

คำตอบ:


8

HTML, CSS และ JavaScript

HTML

<div id='word-shower'></div>
<div id='letter-container'></div>

CSS

.letter {
    border: 1px solid black;
    padding: 5px;
}

#word-shower {
    border-bottom: 3px solid blue;
    padding-bottom: 5px;
}

JS

var acronym = 'dftba', $letters = $('#letter-container')
for (var i = 0; i < acronym.length; i++) {
    $letters.append($('<div>').text(acronym[i]).attr('class', 'letter'))
}

var $word = $('#word-shower')
setInterval(function() {
    $.getJSON('http://whateverorigin.org/get?url=' + encodeURIComponent('http://randomword.setgetgo.com/get.php') + '&callback=?', function(word) {
        word = word.contents.toLowerCase()
        $word.text(word)
        $letters.children().each(function() {
            if (word[0] == this.innerText) {
                this.innerText = word
                return
            }
        })
    })
}, 1000)

ใช้เครื่องสร้างคำแบบสุ่มและแสดงผลลัพธ์สดตามที่ค้นหาคำ

นี่คือซอถ้าคุณต้องการเรียกใช้ด้วยตัวคุณเอง

นี่คือ GIF ของผลลัพธ์:

เอาท์พุตแบบเคลื่อนไหว


7

ชวา

เรียกรายการคำจาก wiktionary เลือกคำที่สุ่มจากรายการที่ขึ้นต้นด้วยตัวอักษรที่ถูกต้อง จากนั้นใช้ Google แนะนำซ้ำ ๆ เพื่อค้นหาคำถัดไปที่เป็นไปได้ แสดงรายการของความเป็นไปได้ หากคุณเรียกใช้ซ้ำด้วยตัวย่อเดียวกันคุณจะได้รับผลลัพธ์ที่แตกต่างกัน

import java.io.*;
import java.net.*;
import java.util.*;

public class Acronym {

    static List<List<String>> wordLists = new ArrayList<List<String>>();
    static {for(int i=0; i<26; i++) wordLists.add(new ArrayList<String>());}
    static String acro;

    public static void main(String[] args) throws Exception {
        acro = args[0].toLowerCase();

        //get a wordlist and put words into wordLists by first letter
        String s = "http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists/PG/2006/04/1-10000";
        URL url = new URL(s);
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            if(inputLine.contains("title")) {
                int start = inputLine.indexOf("title=\"");
                int end = inputLine.lastIndexOf("\">");
                if(start>=0 && end > start) { 
                    String word = inputLine.substring(start+7,end).toLowerCase();
                    if(!word.contains("'") && !word.contains(" ")) {
                        char firstChar = word.charAt(0);
                        if(firstChar >= 'a' && firstChar <='z') {
                            wordLists.get(firstChar-'a').add(word);
                        }
                    }
                }
            }
        }

        //choose random word from wordlist starting with first letter of acronym
        Random rand = new Random();
        char firstChar = acro.charAt(0);
        List<String> firstList = wordLists.get(firstChar-'a');
        String firstWord = firstList.get(rand.nextInt(firstList.size()));

        getSuggestions(firstWord,1);

    }

    static void getSuggestions(String input,int index) throws Exception {
        //ask googleSuggest for suggestions that start with search plus the next letter as marked by index
        String googleSuggest = "http://google.com/complete/search?output=toolbar&q=";
        String search = input + " " + acro.charAt(index);
        String searchSub = search.replaceAll(" ","%20");

        URL url = new URL(googleSuggest + searchSub);
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            String[] parts = inputLine.split("\"");
            for(String part : parts) {
                if(part.startsWith(search)) {
                    //now get suggestions for this part plus next letter in acro
                    if(index+1<acro.length()) {
                        String[] moreParts = part.split(" ");
                        Thread.sleep(100);
                        getSuggestions(input + " " + moreParts[index],index+1);
                    }
                    else {
                        String[] moreParts = part.split(" ");
                        System.out.println(input + " " + moreParts[index]);
                    }
                }
            }
        }
        in.close();
    }
}

ตัวอย่างผลลัพธ์:

$ java -jar Acronym.jar ght
great harvest trek
great harvest tulsa
great harvest taylorsville
great harvest temecula
great harvest trek
great harvest twin
great harvest tempe
great harvest twin
great harvest turners
great harvest twitter
great horned toad
great horned toads
great horned tomato
great horned tomato
great horned turtle
great harvest trek
great harvest tulsa
great harvest taylorsville
great harvest temecula
great harvest trek
great harvest twin
great harvest tempe
great harvest twin
great harvest turners
great harvest twitter
great horned toad
great horned toads
great horned tomato
great horned tomato
great horned turtle
great harvest trek
great harvest tulsa
great harvest taylorsville
great harvest temecula
great harvest trek
great harvest twin
great harvest tempe
great harvest twin
great harvest turners
great harvest twitter
great horror thriller
great horror tv
great horror thriller
great horror titles
great horror tv
great holiday traditions
great holiday treats
great holiday toasts
great holiday tech
great holiday travel
great holiday treat
great holiday tips
great holiday treat
great holiday toys
great holiday tour
great harvest trek
great harvest tulsa
great harvest taylorsville
great harvest temecula
great harvest trek
great harvest twin
great harvest tempe
great harvest twin
great harvest turners
great harvest twitter
great horned toad
great horned toads
great horned tomato
great horned tomato
great horned turtle

น่าเสียดายที่ Google แนะนำให้ URL หยุดทำงานหลังจากนั้นสักครู่ - บางที IP ของฉันถูกขึ้นบัญชีดำโดย Google ในทางที่ผิด?


5

ทับทิม

ดังนั้นทับทิม สุนัขจำนวนมาก ว้าว.

เวอร์ชั่นออนไลน์

@prefix = %w[all amazingly best certainly crazily deadly extra ever few great highly incredibly jolly known loftily much many never no like only pretty quirkily really rich sweet such so total terribly utterly very whole xtreme yielding zippily]
@adjective = %w[appealing app apl attractive brave bold better basic common challenge c++ creative credit doge durable dare enticing entertain extreme fail fabulous few favourite giant gigantic google hello happy handy interesting in improve insane jazz joy j java known kind kiwi light laugh love lucky low more mesmerise majestic open overflow opinion opera python power point popular php practice quirk quit ruby read ready stunning stack scala task teaching talking tiny technology unexpected usual useful urban voice vibrant value word water wow where xi xanthic xylophone young yummy zebra zonk zen zoo]

def doge(input)
  wow = ""
  input.chars.each_slice(2) do |char1, char2|
    if char2 == nil
      wow << (@prefix + @adjective).sample(1)[0] + "."
      break
    end
    wow << @prefix.select{|e| e[0] == char1}.sample(1)[0]
    wow << " "
    wow << @adjective.select{|e| e[0] == char2}.sample(1)[0]
    wow << ". "
  end
  wow
end

puts doge("dftba")
puts doge("asofiejgie")
puts doge("iglpquvi")

ตัวอย่าง:

deadly favourite. terribly better. challenge.
all scala. only favourite. incredibly enticing. jolly giant. incredibly extreme. 
incredibly gigantic. loftily popular. quirkily usual. very interesting.

เบาแน่นอน เสียงที่เคย พร้อมเป็นพิเศษ สแต็คพิเศษ มีเสน่ห์ดึงดูดมาก ไม่เคยสวยงาม ความบันเทิงทั้งหมด ที่อุดมไปด้วยที่สวยงาม รายการโปรดเท่านั้น ทับทิมที่น่าอัศจรรย์ใจ
izabera

ล้มเหลวร้ายแรง กล้าหาญชะมัด โชคดี. สกาล่าทั้งหมด เพียงไม่กี่ ความบันเทิงอย่างไม่น่าเชื่อ jolly google ความบันเทิงอย่างไม่น่าเชื่อ google อย่างไม่น่าเชื่อ หลาม loftily แปลกประหลาดที่ไม่คาดคิด ปรับปรุงมาก

4

มาติกา

คำศัพท์บางคำที่มักปรากฏเป็นตัวย่อ

terms = {"Abbreviated", "Accounting", "Acquisition", "Act", "Action", "Actions", "Activities", "Administrative", "Advisory", "Afloat", "Agency", "Agreement", "Air", "Aircraft", "Aligned", "Alternatives", "Analysis", "Anti-Surveillance", "Appropriation", "Approval", "Architecture", "Assessment", "Assistance", "Assistant", "Assurance", "Atlantic", "Authority", "Aviation", "Base", "Based", "Battlespace", "Board", "Breakdown", "Budget", "Budgeting", "Business", "Capabilities", "Capability", "Capital", "Capstone", "Category", "Center", "Centric", "Chairman", "Change", "Changes", "Chief", "Chief,", "Chiefs", "Closure", "College", "Combat", "Command", "Commandant", "Commander","Commander,", "Commanders", "Commerce", "Common", "Communications", "Communities", "Competency", "Competition", "Component", "Comptroller", "Computer", "Computers,", "Concept", "Conference", "Configuration", "Consolidated", "Consulting", "Contract", "Contracting", "Contracts", "Contractual", "Control", "Cooperative", "Corps", "Cost", "Council", "Counterintelligence", "Course", "Daily", "Data", "Date", "Decision", "Defense", "Deficiency", "Demonstration", "Department", "Depleting", "Deployment", "Depot", "Deputy", "Description", "Deskbook", "Determination", "Development", "Direct", "Directed", "Directive", "Directives", "Director", "Distributed", "Document", "Earned", "Electromagnetic", "Element", "Engagement", "Engineer", "Engineering", "Enterprise", "Environment", "Environmental", "Equipment", "Estimate", "Evaluation", "Evaluation)", "Exchange", "Execution", "Executive", "Expense", "Expert", "Exploration", "Externally", "Federal", "Final", "Financial", "Findings", "Fixed","Fleet", "Fleet;", "Flight", "Flying", "Followup", "Force", "Forces,", "Foreign", "Form", "Framework", "Full", "Function", "Functionality", "Fund", "Funding", "Furnished", "Future", "Government", "Ground", "Group", "Guidance", "Guide", "Handbook", "Handling,", "Hazardous", "Headquarters", "Health", "Human", "Identification", "Improvement", "Incentive", "Incentives", "Independent", "Individual", "Industrial", "Information", "Initial", "Initiation", "Initiative", "Institute", "Instruction", "Integrated", "Integration", "Intelligence", "Intensive", "Interdepartmental", "Interface", "Interference", "Internet", "Interoperability", "Interservice", "Inventory", "Investment", "Joint", "Justification", "Key", "Knowledge", "Lead", "Leader", "Leadership", "Line", "List", "Logistics", "Maintainability", "Maintenance", "Management", "Manager", "Manual", "Manufacturing", "Marine", "Master", "Material", "Materials", "Maturity", "Measurement", "Meeting", "Memorandum", "Milestone", "Milestones", "Military", "Minor", "Mission", "Model", "Modeling", "Modernization", "National", "Naval", "Navy", "Needs", "Network", "Networks", "Number", "Objectives", "Obligation", "Observation", "Occupational", "Offer", "Office", "Officer", "Operating", "Operational", "Operations", "Order", "Ordering", "Organization", "Oversight", "Ozone", "Pacific", "Package", "Packaging,", "Parameters", "Participating", "Parts", "Performance", "Personal", "Personnel", "Planning", "Planning,", "Plans", "Plant", "Point", "Policy", "Pollution", "Practice", "Preferred", "Prevention", "Price", "Primary", "Procedure", "Procedures", "Process", "Procurement", "Product", "Production", "Professional", "Program", "Programmatic", "Programming", "Project", "Proposal", "Protection", "Protocol", "Purchase", "Quadrennial", "Qualified", "Quality", "Rapid", "Rate", "Readiness", "Reconnaissance", "Regulation", "Regulations", "Reliability", "Relocation", "Repair", "Repairables", "Report", "Reporting", "Representative", "Request", "Requirement", "Requirements", "Requiring", "Requisition", "Requisitioning", "Research", "Research,", "Reserve", "Resources", "Responsibility", "Review", "Reviews", "Safety", "Sales", "Scale", "Secretary", "Secure", "Security", "Selection", "Senior", "Service", "Services", "Sharing", "Simulation", "Single", "Small", "Software", "Source", "Staff", "Standard", "Standardization", "Statement", "Status", "Storage,", "Strategy", "Streamlining", "Structure", "Submission", "Substance", "Summary", "Supplement", "Support", "Supportability", "Surveillance", "Survey", "System", "Systems", "Subsystem", "Tactical", "Target", "Targets", "Team", "Teams", "Technical", "Technology", "Test", "Tool", "Total", "Training", "Transportation", "Trouble", "Type", "Union", "Value", "Variable", "Warfare", "Weapon", "Work", "Working", "X-Ray", "Xenon", "Year", "Yesterday", "Zenith", "Zoology"};

รหัส

f[c_]:=RandomChoice[Select[terms,(StringTake[#,1]==c)&]]
g[acronym_]:=Map[f,Characters@acronym]

ตัวอย่าง

สิบที่สร้างแบบสุ่มผู้สมัครย่อเอบีซี

Table[Row[g["ABC"], "  "], {10}] // TableForm

การดำเนินการพังทลายคณะ
การบัญชีงบประมาณพาณิชย์
เครื่องควบคุมงบประมาณ
ได้มาซึ่งพังทลายคอมพิวเตอร์
การดำเนินการจัดทำงบประมาณค่าใช้จ่าย
ชิดพังทลายสามัญ
แนวทางการจัดทำงบประมาณหลักสูตรการ
ให้คำปรึกษาการจัดทำงบประมาณความสามารถใน
แนวทาง Battlespace ร่วมกัน
ต่อต้านการเฝ้าระวัง Battlespace กรมบัญชีกลาง


FMP

Table[Row[g["FMP"], "  "], {10}] // TableForm

ผลการวิจัยผู้จัดการพิธีสาร
สุดท้ายคู่มือการซื้อ
Flying วัดบุคลากร
เต็มการผลิตแผน
วัดในแบบฟอร์มการเขียนโปรแกรม
ทางการเงินรุ่นโปรแกรม
ในอนาคตทันสมัยข้อเสนอ
ทางการเงินวัดแพคเกจ
แบบวางแผนการซ่อมบำรุง
แบบเต็มโปรแกรมสร้างแบบจำลอง


STM

Table[Row[g["STM"], "  "], {10}] // TableForm

มาตรฐานการ
บริการที่ทันสมัยรวมยุทธวิธีเหตุการณ์สำคัญ
การเฝ้าระวังการจัดการการขนส่ง
ระบบย่อยปัญหาวัสดุ
การทดสอบโครงสร้างทหาร
เครื่องทดสอบขนาดวัสดุ
เครื่องมือกลยุทธ์การสร้างสรรค์สิ่งใหม่
เทคโนโลยีขนาดเล็กการ
สนับสนุนเล็กน้อยการขนส่งสถานะการผลิตเครื่องมือการจัดการ


CRPB

Table[Row[g["CRPB"], "  "], {10}] // TableForm

สหกรณ์ระเบียบคุ้มครองธุรกิจ
บัญชาการขอนโยบายฐาน
การเปลี่ยนแปลงการเขียนโปรแกรมซ่อม, ธุรกิจ
ความคิดเห็นเกี่ยวกับการปิดโครงการงบประมาณ
ระเบียบพาณิชย์พารามิเตอร์ฐาน
สัญญาอย่างรวดเร็วราคาฐาน
วิทยาลัยย้ายการปฏิบัติงบประมาณ
หลักสูตรการรายงานบุคลากร Battlespace
หลักสูตรที่ต้องการด้วยวิธีการงบประมาณ


Sarde

Table[Row[g["SARDE"], "  "], {10}] // TableForm

การดำเนินการเสริมการกำหนดแนวทางประมาณการ
ชั่งชิดความต้องการประจำวันประมาณการ
เลขานุการแอตแลนติกเรียกร้องกรรมการค่าใช้จ่าย
ซอฟต์แวร์การดำเนินการทบทวนตรงสำรวจ
สนับสนุนพระราชบัญญัติการเตรียมพร้อมในการป้องกันไฟฟ้า
ซอฟท์แวย่อความต้องการการตัดสินใจแลกเปลี่ยน
การประเมินการส่งใบขอเสนอคำอธิบายบริหาร
เพรียวลมอัตราบัญชี Depot ประเมินผล
การเฝ้าระวังผู้ช่วยเรียกร้อง Depot หมั้น
สำรวจให้ความช่วยเหลือทรัพยากรขาดค่าใช้จ่าย


2

D

เรื่องนี้ส่วนใหญ่สร้างเรื่องไร้สาระ แต่บางครั้งมันจะสร้างสิ่งที่เหมาะสมหรือบางสิ่งบางอย่างโง่เง่าเหมือนเป็นคนอารมณ์ดี

คำจะถูกดึงจากไฟล์ JSON นี้ (~ 2.2MB)

โปรแกรมใช้ตัวย่อจากอาร์กิวเมนต์บรรทัดคำสั่งแรกและสนับสนุนอาร์กิวเมนต์ที่สองซึ่งเป็นทางเลือกซึ่งบอกโปรแกรมว่ามีกี่วลีที่จะสร้าง

import std.file : readText;
import std.conv : to;
import std.json, std.random, std.string, std.stdio, std.algorithm, std.array, std.range;

void main( string[] args )
{
    if( args.length < 2 )
        return;

    try
    {
        ushort count = 1;

        if( args.length == 3 )
            count = args[2].to!ushort();

        auto phrases = args[1].toUpper().getPhrases( count );

        foreach( phrase; phrases )
            phrase.writeln();
    }
    catch( Throwable th )
    {
        th.msg.writeln;
        return;
    }
}

string[] getPhrases( string acronym, ushort count = 1 )
in
{
    assert( count > 0 );
}
body
{
    auto words = getWords();
    string[] phrases;

    foreach( _; 0 .. count )
    {
        string[] phrase;

        foreach( chr; acronym )
        {
            auto matchingWords = words.filter!( x => x[0] == chr ).array();
            auto word = matchingWords[uniform( 0, matchingWords.length )];
            phrase ~= word;
        }

        phrases ~= phrase.join( " " );
    }

    return phrases;
}

string[] getWords()
{
    auto text = "words.json".readText();
    auto json = text.parseJSON();
    string[] words;

    if( json.type != JSON_TYPE.ARRAY )
        throw new Exception( "Not an array." );

    foreach( item; json.array )
    {
        if( item.type != JSON_TYPE.STRING )
            throw new Exception( "Not a string." );

        words ~= item.str.ucfirst();
    }

    return words;
}

auto ucfirst( inout( char )[] str )
{
    if( str.length == 1 )
        return str.toUpper();

    auto first = [ str[0] ];
    auto tail  = str[1 .. $];

    return first.toUpper() ~ tail.toLower();
}

ตัวอย่าง :

D:\Code\D\Acronym>dmd acronym.d

D:\Code\D\Acronym>acronym utf 5
Unchallenged Ticklebrush Frication
Unparalysed's Toilsomeness Fructose's
Umpiring Tableland Flimsily
Unctuousness Theseus Flawless
Umbrella's Tarts Formulated

2

ทุบตี

for char in $(sed -E s/'(.)'/'\1 '/g <<<"$1");
do
    words=$(grep "^$char" /usr/share/dict/words)
    array=($words)
    arrayCount=${#array[*]}
    word=${array[$((RANDOM%arrayCount))]}
    echo -ne "$word " 
done
echo -ne "\n"

ดังนั้น: $ bash acronym-to-phrase.sh dftbaส่งผลให้

deodorization fishgig telolecithal bashlyk anapsid
demicivilized foretell tonogram besmouch anthropoteleological
doer fightingly tubulostriato bruang amortize 


และ: $ bash acronym-to-phrase.sh diyส่งผลให้

decanically inarguable youthen
delomorphous isatin yen
distilling inhumorously yungan


สุดท้าย: $ bash acronym-to-phrase.sh rsvp

retzian sensitizer vestiarium pathognomonical
reaccustom schreiner vincibility poetizer
refractorily subspherical villagey planetule

...

ปฏิกิริยาเริ่มต้นของฉัน การขนส่งที่ไม่มีขน


1

หลาม

ดังนั้นนี่อาจจะไม่ชนะการแข่งขันความนิยม แต่ฉันคิดว่า Python ต้องการการเป็นตัวแทน ใช้งานได้ใน Python 3.3+ ฉันยืมไฟล์คำศัพท์ json ของ @ tony-h ( หาได้ที่นี่ ) โดยพื้นฐานแล้วโค้ดนี้ใช้รายการ json และจัดเรียงคำทั้งหมดเป็นพจนานุกรมที่จัดทำดัชนีไว้บนตัวอักษรของตัวอักษร จากนั้นตัวย่อใดก็ตามที่ถูกส่งผ่านไปยังแอปพลิเคชันไพ ธ อนจะใช้เป็นดัชนีในพจนานุกรม สำหรับตัวอักษรย่อแต่ละตัวคำสุ่มจะถูกเลือกจากคำทั้งหมดที่จัดทำดัชนีไว้ใต้ตัวอักษรนั้น นอกจากนี้คุณยังสามารถระบุจำนวนเอาต์พุตที่ต้องการหรือหากไม่ได้ระบุอะไรเลยจะมีตัวเลือก 2 ตัวเลือก

รหัส (ฉันบันทึกไว้เป็น phraseit.py):

import argparse
import json
import string
from random import randrange

parser = argparse.ArgumentParser(description='Turn an acronym into a random phrase')
parser.add_argument('acronym', nargs=1)
parser.add_argument('iters',nargs='?',default=2,type=int)
args = parser.parse_args()

acronym=args.acronym[0]
print('input: ' + acronym)

allwords=json.load(open('words.json',mode='r',buffering=1))

wordlist={c:[] for c in string.ascii_lowercase}
for word in allwords:
    wordlist[word[0].lower()].append(word)

for i in range(0,args.iters):
    print('output:', end=" ")
    for char in acronym:
        print(wordlist[char.lower()][randrange(0,len(wordlist[char.lower()]))], end=" ")
    print()

ตัวอย่างผลลัพธ์บางส่วน:

$ python phraseit.py abc
input: abc
output: athabaska bookish contraster
output: alcoholism bayonet's caparison

อื่น ๆ :

$ python phraseit.py gosplet 5
input: gosplet
output: greenware overemphasiser seasons potential leprosy escape tularaemia
output: generatrix objectless scaloppine postulant linearisations enforcedly textbook's
output: gutturalism oleg superstruct precedential lunation exclusion toxicologist
output: guppies overseen substances perennialises lungfish excisable tweed
output: grievously outage Sherman pythoness liveable epitaphise tremulant

สุดท้าย:

$ python phraseit.py nsa 3
input: nsa
output: newsagent spookiness aperiodically
output: notecase shotbush apterygial
output: nonobjectivity sounded aligns
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.