문구 약어


12

직무:

예를 들어 dftba, 약어를 입력으로 사용하는 프로그램을 작성하고 약어가 의미 할 수있는 몇 가지 문구를 생성하십시오. 단어 목록을 단어 입력으로 사용할 수 있습니다. https://www.youtube.com/watch?v=oPUxnpIWt6E에서 영감을 받음

예:

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

규칙 :

  • 귀하의 프로그램은 동일한 약어에 대해 동일한 문구를 매번 생성 할 수 없습니다. 무작위 화가 있어야합니다
  • 입력은 모두 소문자입니다
  • 몇 가지 예 게시 (입력 및 출력)
  • 모든 언어가 허용됩니다
  • 그것은의 때문에 대부분의 upvotes 승리!

예제 출력을 보여주세요.
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

자바

위키 낱말 사전에서 단어 목록을 가져옵니다. 목록에서 올바른 문자로 시작하는 임의의 단어를 선택하십시오. 그런 다음 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

치명적인 실패. 정말 용감하다. 운이 좋은 모든 스칼라. 소수. 엄청나게 즐겁게. 유쾌한 구글. 엄청나게 즐겁게. 엄청나게 구글. 고상한 파이썬. 기발하게 예상치 못한. 매우 향상됩니다.

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]

약어 ABC에 대한 10 개의 무작위로 생성 된 후보 .

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

행동 분석 군단
회계 예산 상업
항공 예산 관리
획득 내역 컴퓨터
조치 예산 비용 조정
분류 공통 조정
예산 과정
자문 예산 예산 기능 조정
전장 일반
반감시 전장 관리자


FMP

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

결과 관리자 프로토콜
최종 매뉴얼 구매
비행 측정 담당자
전체 제조 계획
양식 측정 프로그래밍
재무 모델 프로그래밍
미래 현대화 제안
재무 측정 패키지
양식, 유지 관리 계획
전체 모델링 프로그래밍


STM

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

표준화 총 현대화
서비스 전술 이정표
감시 운송 관리
하위 시스템 문제 재료
구조 테스트 군용
규모 테스트 재료
전략 도구 현대화
소규모 기술 소량
지원 성 운송 제조 상태 도구 관리


CRPB

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

협동 규제 보호 사업
사령관 요청 정책 기본
변경 수리 프로그래밍, 사업
마감 검토 프로젝트 예산
상거래 규정 매개 변수 기본
계약 빠른 가격 기본
대학 이전 연습 예산
과정보고 직원 전장
코스 요구 사항 절차 예산


사데

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

보충 조치 지시문 추정
규모 조정 요구 사항 매일 견적
대서양 장관 요청 이사 비용
소프트웨어 조치 검토 직접 탐색
지원 법 준비 방어 전자기
소프트웨어 약식 요구 사항 의사 결정 교환
제출 평가 요구 사항 설명 경영자
능률화 회계 요율 디포 평가
감시 보조자 요청 디포 이니셔티브
조사 지원 리소스


2

이것은 대부분 말도 안되는 소리를 낼 수 있지만, 때로는 현명하거나 유쾌한 것을 만들어냅니다.

이 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 3.3 이상에서 작동합니다. @ tony-h의 json 단어 파일을 빌 렸습니다 ( 여기에서 찾으십시오 ). 기본적 으로이 코드는 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.