御笔剑客 发表于 2017-11-24 00:53:33

这道题的规律是如何找出的呢?

本帖最后由 御笔剑客 于 2017-11-24 01:54 编辑

 在Windows的控制台环境中,所有的字符都是等宽的,默认情况下窗口中每行有80个字符,每个屏幕有25行,组成了一个字符矩阵。
  利用控制台的这个特点,我们可以在控制台上绘制简单的图形。下面给出了一个5*7的图形的例子:
  ABCDEFG
  BABCDEF
  CBABCDE
  DCBABCD
  EDCBABC
  找出这个图形的特点,绘制一个25*18的图形。

yjsx86 发表于 2017-11-24 02:50:29

本帖最后由 yjsx86 于 2017-11-24 02:52 编辑

这道题 出得 漏洞百出啊
规律可以给出2个
1,一个不断缩小的厂字形
2,形如GFEDCBABCDEF的跑马灯效果 根据A的位置截取字符串
对于第一个按要求一行18个字符 那第一行是A~R还是按照你给的ABCDEFG来循环
对于第二个 走完第一次跑马灯循环GFEDCBA下一次开始是ABCDEFG还是AGFEDCB

BngThea 发表于 2017-11-24 07:45:31

应该是平移字符串,删除最右字符,左侧添加比最左侧大1的字符

冬雪雪冬 发表于 2017-11-24 09:02:55

str1 = 'YXWVUTSRQPONMLKJIHGFEDCBABCDEFGHIJKLMNOPQRSTUVWXY'
for i in range(18):
    print(str1)

ABCDEFGHIJKLMNOPQRSTUVWXY
BABCDEFGHIJKLMNOPQRSTUVWX
CBABCDEFGHIJKLMNOPQRSTUVW
DCBABCDEFGHIJKLMNOPQRSTUV
EDCBABCDEFGHIJKLMNOPQRSTU
FEDCBABCDEFGHIJKLMNOPQRST
GFEDCBABCDEFGHIJKLMNOPQRS
HGFEDCBABCDEFGHIJKLMNOPQR
IHGFEDCBABCDEFGHIJKLMNOPQ
JIHGFEDCBABCDEFGHIJKLMNOP
KJIHGFEDCBABCDEFGHIJKLMNO
LKJIHGFEDCBABCDEFGHIJKLMN
MLKJIHGFEDCBABCDEFGHIJKLM
NMLKJIHGFEDCBABCDEFGHIJKL
ONMLKJIHGFEDCBABCDEFGHIJK
PONMLKJIHGFEDCBABCDEFGHIJ
QPONMLKJIHGFEDCBABCDEFGHI
RQPONMLKJIHGFEDCBABCDEFGH

御笔剑客 发表于 2017-11-24 10:29:17

BngThea 发表于 2017-11-24 07:45
应该是平移字符串,删除最右字符,左侧添加比最左侧大1的字符

具体用程序怎么实现呢?

BngThea 发表于 2017-11-24 10:37:45

御笔剑客 发表于 2017-11-24 10:29
具体用程序怎么实现呢?

可以用字符数组依次进行操作:
先删去最右边的字符,然后所有元素下标加一,最后在最左侧添加一个字符,这个字符是数组中第一个字符加一

用链表更方便:
删去尾节点,再添加一个头结点即可

思路就是这样,代码需要你自己动手写
页: [1]
查看完整版本: 这道题的规律是如何找出的呢?