Questions tagged «ascii-art»

这项挑战涉及使用文本字符作为绘画来创建或解析图片。通常,它仅使用1963年ASCII标准定义的95个可打印字符(总共128个)。

18
折成三角形
给定一个长度可被4整除的字符串,请制作一个三角形,如下所示。 如果字符串是abcdefghijkl,则三角形将是: a b l c k defghij 如果字符串是iamastringwithalengthdivisiblebyfour,则三角形将是: i a r m u a o s f t y r b i e n l gwithalengthdivisib 如果字符串是thisrepresentationisnotatriangle,则三角形将是: t h e i l s g r n e a p i r r esentationisnotat 笔记 该字符串仅包含从a到的字符z。 只要形状未损坏,就允许使用前导/尾随空格和换行符。 允许使用字符串列表作为输出。 这是代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

24
创建一个二进制标尺
给定数字n,生成此模式的前n列: # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ################################ ... 在(1索引)n处的列的高度是n的二进制表示形式中的尾随0位数,再加上1。结果,底层填充了每一列,第二层填充了第二列,第三层填充了第四列,依此类推。 规则 您可以通过任何标准方法输入和输出。 您可以假定输入是1到999之间的一个整数(含)。 只要模式是完整的,输出就可以包含任意数量的空格。 该模式必须为1索引,并且格式必须与此处所示相同。 您可以使用任何单个非空白字符代替#,但不能更改空格字符。 测试用例 1 # 2 # ## 3 # ### …

30
动态创建盒子
挑战: 绘制一个矩形的ASCII框:[] 规则: 接受宽度和高度输入 您可以假设它们都是数字 必须产生一个包含换行符\ n的字符串 例子: 2:2 [][] [][] 2:3 [][] [][] [][] 最小字节数获胜。

12
绘制一个星号模拟时钟N小时
挑战: 创建一个函数或程序,该函数或程序将接受代表小时的输入N(0到24之间的数字)。 输出应从显示小时N的星号中提取一个模拟时钟。 🕛🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛 笔记: •分针必须比时针长(就使用的星号而言) •分针必须至少有两个星号。 •正午,3pm,6pm和9pm将始终正交。按度数排列时,中间小时的输出应与一天中的小时顺序相同。我的意思是中午时针为0º,在下午3点时针为90º,因此对于您的1pm和2pm输出情况,必须满足以下条件: 0pm_deg < 1pm_deg < 2pm_deg < 3pm_deg。除此规则外,实际的度数可以是您决定的任何值,显然它将根据字体和其他本地因素而变化。 •时针和分针之间的连接点是任何一种圆形/椭圆形的Unicode字符。 o, O, •, 0, etc. 输入/输出示例(可能会因工程图样式而异) N = 3; * * * O * * N = 4; * * * O * * N = 5; * * * 0 * * N …

30
获取一个具有不同数字的随机n位数字,第一个不是0
我读了这个问题,并认为这将是一个不错的挑战。 任务 给一个输入0<n<10生成一个随机数 正好n位数字 第一个不是 0 所以 f(n)>10**(n-1)-1 不同的数字 获奖标准 这是代码高尔夫球,因此最短的代码获胜。 随机 我的意思是随机分布均匀。因此,从程序的角度来看,每个可能的数字都有相同的机会。如果您使用的语言具有一个奇怪的随机数生成器,则可以使用该生成器。 例 要从中随机选择的值的列表n=2是: [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

2
生成ASCII Padovan螺旋
这是此挑战的ASCII版本。最初的职位由Martin Ender根据请求分开 介绍 类似于斐波那契数列,Padovan 数列(OEIS A000931)是一个数字序列,是通过在序列中添加前项产生的。初始值定义为: P(0) = P(1) = P(2) = 1 第0,第1和第2项均为1。递归关系如下所示: P(n) = P(n - 2) + P(n - 3) 因此,它产生以下序列: 1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, 351, ... 将这些数字放在一起时,将它们用作等边三角形的边长会产生一个不错的螺旋,就像斐波那契螺旋: 图片由维基百科提供 …

15
运算符ASCII艺术
挑战 从下面的列表中给定一个ASCII运算符,并给它一个数字n,使用该运算符作为字符,画出该运算符的ASCII表示形式,该运算符的线段长度为n。 输入项 列表中的ASCII字符= + - x /和n其中的整数n >= 1。(我使用x代替*和/代替÷,但您可以使用其中任何一个,以较容易的一个为准)。对于+和x,您只需要处理奇数即可避免对齐问题。 输出量 由长度为n的字符组成的运算符的ASCII绘图。水平部分的字符之间应有空格,以抵消垂直/水平距离的差异。 规则 这是代码高尔夫球,因此以字节为单位的最短代码获胜。禁止出现标准漏洞。 例子 输入: + 3 + + + + + 输入: = 4 = = = = = = = = 输入: = 10 = = = = = = = = = = = = = …

19
帮助:外星人程序员只能说ASCII
设置场景: 这是一个平均的下午,在忙碌了一天之后,您会通过参加自己喜欢的消遣来放松:回答有关PPCG的许多令人着迷的问题。今天对您而言不是好日子;那些该死的Pyth程序员不断获得最佳答案,这正在杀死您的氛围。突然,您发现一个新问题已发布!你下定决心;这次不是CJammers。奇怪的是,您开始打字,产生了一系列字符。最终产品将成为辉煌的BrainFuck循环的胎儿。您键入并键入。快点!还快!您太专心了,甚至没有注意到屏幕上的灯光开始闪烁。突然,显示器发出绿色光,桌面上印有外星人般的符号。使用无可挑剔的技能,您cat ~/Desktop/aliensymbol并得到一堆数字,一条消息!作为您精明的PPCG程序员,您会注意到它看起来像ASCII。无论您是什么,您都可以print(chr(i) for i in file)解密消息。您首先想到的是:“我需要与社区分享!”。 ... 谁会想到的?最早接触外星人的人将是PPCG谦虚的程序员。为什么是我们?也许是因为我们是人类智慧的缩影。也许是因为BrainFuck与我们使用外语差不多。尽管如此,外星人-他们是超智能的生活形式-想要测试他们是否应该将人类归类为聪明人。为了检验我们的智力,外星人要求我们向他们发送一些计算机程序,以证明我们在技术上得到了培养。问题是,他们唯一能理解的人类语言是数字ASCII! 帮助人类向那些生物展示真正的智力阿尔法。我们需要向他们发送一个脚本,该脚本会将基于文本的源代码转换为数字ASCII版本。不幸的是,由于我们的技术不发达(感谢奥巴马),我们必须发送尽可能小的翻译程序。他们选择联系PPCG的好事! 挑战: 挑战的前提很简单:您将编写一个程序,该程序将使用任何程序的源代码(或与此相关的任何常规文本文件),并在每行下方输出带有ASCII转换的空格分隔版本。也就是说,给定一个文本文件的输入,您需要输出该文件的每一行,然后输出一行,该行包含其上方一行中每个字符的ASCII表示(每个数字与其所表示的字符对齐)。 一个例子将大大阐明这一点。以臭名昭著的源代码hello world作为输入: #include <stdio.h> int main() { printf("hello, world\n"); return 0; } 您的程序应输出: # i n c l u d e < s t d i o . h > 35 105 110 99 108 117 100 101 …

9
不可视化帕森斯代码
介绍 在帕森斯的代码只是为了说明一个简单的方法的音调变化在一段音乐,音符是否高于或低于前一个低。 即使您乐于记住音乐,您仍然可以很清楚地记起音符的高低,因此,帕森斯代码可以帮助您使用搜索引擎识别音乐。 描述 每个变体都由单个字符表示,该字符是以下之一: R如果该音符与上一个音符相同(代表“ R epeat”) U如果该音符高于上一个音符(代表“ U p”) D如果该音符低于上一个音符(代表“ D拥有”) 首字母写为*。 例 这是帕森斯代码的示例(“欢乐颂”的开头): *RUURDDDDRUURDR 您实际上可以将其可视化,如下所示: *-* / \ * * / \ *-* * *-* \ / \ * * *-* \ / *-* 从现在开始,我们将其称为轮廓。 上面的示例认为绘制此类国家的规则是不言自明的。 挑战 现在是真正的挑战。 编写一个程序,以轮廓为输入,输出其相应的帕森斯代码。 不要求您绘制轮廓,但实际上是相反。 从轮廓中找到原始的帕森斯代码。 规则 打高尔夫球的通常规则适用 字节数最短的程序获胜 输入为轮廓,输出为有效的帕森斯码 与输入的多余空格有关的细节无关紧要,尽一切可能为您效劳 由于前面的规则,不允许您使用额外的空格对输出和/或程序的部分内容进行一种或另一种硬编码。 …

28
颠倒真相
编写程序或函数以: 从stdio或参数中获取一个字符串 替换所有出现true与false和false与true 扭转它,但不扭转true和false 返回或打印结果 示例(输入为左侧): "true" "false" "2false" "true2" "true is false" "true si false" "false,true,undefined" "denifednu,false,true" "stressed-false" "true-desserts" "falstrue" "falseslaf" "true false true x" "x false true false" 有标准漏洞。这是代码高尔夫球,因此以字节为单位的最短代码获胜。 排行榜 显示代码段 var QUESTION_ID=63256,OVERRIDE_USER=20569;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var …

1
依赖图可视化
挑战的目标是编写一个程序,该程序以树的形式可视化依赖图。尽管在这种情况下“依赖关系图”仅意味着有向图,但此处描述的可视化方法最适合描述某些依赖关系的图(作为练习,在阅读了挑战之后,尝试反转其中一个的方向示例图,看看结果是否同样有用。) 程序的输入由一个或多个目标定义组成,这些目标定义是以下形式的行: Target DirectDependency1 DirectDependency2 ... ,定义目标及其相关的直接依赖项(如果有)。目标及其依赖关系统称为对象。如果对象仅显示为依赖项,而不显示为目标,则它没有依赖项。输入中出现的所有对象的集合称为Γ。(有关输入格式的更多详细信息,请参见“输入和输出”部分。) 对于任意一对对象A和B,我们说: 对于某些对象 B',如果 A直接依赖于 B,或者 A直接依赖于 B',而 B'依赖于 B,则 A依赖于B(等效地, B是A所必需的); 如果 A依赖于 B,而 B不依赖于 A,则 A适当地依赖于B(等效地, A适当地要求B)。 我们在Γ中定义了一个人为对象oo such,使得ʀooᴛ并不是任何对象都直接需要的,并且对于所有对象A,andooᴛ直接且仅当A在Γ中且A不是时才依赖于A通过在Γ的任意对象正确需要(换句话说,ʀooᴛ直接取决于甲如果没有其他对象取决于甲,或如果依赖于所有对象甲还需要由甲)。 输出树 我们构造一棵树,其根节点为ʀooᴛ,并且每个节点的子节点都是其直接依赖项。例如,给定输入 Bread Dough Yeast Dough Flour Water Butter Milk ,结果树是 ,或者以ASCII形式, ʀooᴛ +-Bread | +-Dough | | +-Flour | | +-Water | …

7
看他们像多米诺骨牌一样倒下
您住在一个80字符宽的终端中。您很无聊,所以决定玩多米诺骨牌。不,不是像Scrabble这样的无聊类型,它是一种有趣的类型,您花一个小时设置它们,以观察它们在一秒钟内掉落。 在终端中,多米诺骨牌如下所示: | upright domino \ left-tilted domino / right-tilted domino __ fallen domino 众所周知,如果倾斜的多米诺骨牌碰到一个直立的多米诺骨牌,那么第二个多米诺骨牌也会倾斜。唯一的例外是两个倾斜的多米诺骨牌碰到它: |\ --> \\ /| --> // /|\ --> /|\ 调整终端的重力常数,使此转换过程需要100毫秒。 如果倾斜的多米诺骨牌是由另一个多米诺骨牌或航站楼的墙壁支撑的,则旅程结束。 没有倾斜的多米诺骨牌 \||||____||||/__ /|\ /\ /|\ __\||||____||||/ (80个字符)将移动,因为两个最向外倾斜的多米诺骨牌由终端墙支撑,而所有其他倾斜的多米诺骨牌均由其他多米诺骨牌支撑。 但是,如果倾斜方向上的空间为空,则多米诺骨牌会掉落: | \\ --> |__\ // | --> /__| 终奌站。引力常数。你明白了…… 最终,左边有一点风,所以右倾斜的多米诺骨牌下降得比左倾斜的多米诺骨牌快: |/ \| --> |__\| 任务 编写一个程序/函数,以显示在终端中播放多米诺骨牌的动画。 …

6
绘制千鸟格图案
编写一个程序或函数,使用两个正整数(宽度和高度),并使用此25×26文本网格作为基本单元,绘制具有这些尺寸的ASCII艺术千鸟格网格模式: .......#.....#####....... .......##.....#####...... .......###.....#####..... .......####.....####..... .......#####.....###..... .......######.....##..... .......#######.....#..... .......########.......... ####################..... .####################.... ..####################... ...####################.. ....####################. .....#################### #.....##############.#### ##.....#############..### ###....#############...## ####...#############....# #####..#############..... .#####.#############..... ..##################..... ........#####............ .........#####........... ..........#####.......... ...........#####......... ............#####........ 因此,如果输入为2,1输出,则将为: .......#.....#####..............#.....#####....... .......##.....#####.............##.....#####...... .......###.....#####............###.....#####..... .......####.....####............####.....####..... .......#####.....###............#####.....###..... .......######.....##............######.....##..... .......#######.....#............#######.....#..... .......########.................########.......... ####################.....####################..... .####################.....####################.... ..####################.....####################... ...####################.....####################.. ....####################.....####################. .....####################.....#################### #.....##############.#####.....##############.#### ##.....#############..#####.....#############..### ###....#############...#####....#############...## ####...#############....#####...#############....# #####..#############.....#####..#############..... .#####.#############......#####.#############..... ..##################.......##################..... ........#####....................#####............ …

8
盒子的高度图
看一下这张各种盒子的ascii艺术图: +--------------------------------------------------------------+ | | | +-------------------------------+ +-------+ | | | | | | | | | | | | | | | +----------------+ | | | | | | | | | +-------+ | | | | | | | | | | | | +-------+ | | | +----------------+ …

2
DNA:脱氧核糖核酸ASCII
给定碱基序列腺嘌呤,胞嘧啶,鸟嘌呤和胸腺嘧啶(编码为ACGT),您将产生相应DNA双链的ASCII艺术表示。 股线将垂直延伸。左侧的链是您输入的链。右手链将为其补充。对于不熟悉DNA的人,A与T和C配对G。此外,双链的每一侧都具有骨架结构,该骨架结构对于所有碱基都是相同的。因此,如果提供输入TAGCAT,则ASCII艺术的大规模结构将是: BTAB BATB BGCB BCGB BATB BTAB 其中B代表骨干。现在这些字母代表一个完整的分子,您将重现实际的分子结构。 基地 对每个碱基使用以下模板1(每个碱基与其互补碱基和两个主链分子一起显示): 1感谢Peter Taylor提供的ASCII布局帮助。 腺嘌呤 O O \\ / P / \ --O O / | < N NH2 ..... O * | \ // \ / \\ / | +--O // ---- ---- | | \ | // \\ / …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.