设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【每日一坑 5】 文字竖排

[复制链接]

0

主题

0

好友

26

积分

新手上路

Rank: 1

17#
发表于 2017-1-22 07:33:47 |只看该作者
words = input("words:")
n = int(input("how many characters for a line:"))
text_list = [words[i:i+n] for i in range(0,len(words),n)]
print(text_list)
for a in range(0,n):
    for b in range(0,len(text_list)):
        if b == len(text_list)-1:
            print (text_list[-(b+1)].ljust(n)[a],end = "")
        else:
            print(text_list[-(b+1)].ljust(n)[a],end = "|")
    print()
回复

使用道具 举报

0

主题

0

好友

10

积分

新手上路

Rank: 1

16#
发表于 2016-12-10 09:50:20 |只看该作者
crossin先生 发表于 2016-12-9 22:31
直接print 一个 list 对象,显示的就是未解码的字符。一般就是遍历,然后输出每一项

在python3里,会自 ...

好的谢谢,我会努力学习的
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

15#
发表于 2016-12-9 22:31:26 |只看该作者
z19960202 发表于 2016-12-9 14:39
想问一下 如果 我直接 print :poem  打出来的就是乱码  完全不知道该怎么办! 希望有人能解答一下  ...

直接print 一个 list 对象,显示的就是未解码的字符。一般就是遍历,然后输出每一项

在python3里,会自动解码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

10

积分

新手上路

Rank: 1

14#
发表于 2016-12-9 14:39:11 |只看该作者
  1. #coding:utf-8

  2. str1 = u'静夜思 李白床前明月光,疑似地上霜,举头望明月,低头思故乡。'
  3. start = 0 #取出诗句的起始点
  4. poem = [] #诗句存放列表

  5. for i in range(5):
  6.     poem_list = [] #取每一句诗句之前 都清空的临时列表
  7.    
  8.     for j in str1[start:start+6]: #取 第一句的六个字符
  9.         poem_list.append(j)
  10.     poem.append(poem_list) #追加进诗句列表
  11.     start += 6   #增加计数起点




  12. for i in range(6): #打印诗句
  13.     print poem[4][i] + "|" + poem [3][i] + "|" + poem [2][i] + "|" + poem [1][i]+ "|" + poem [0][i]

复制代码
想问一下 如果 我直接 print :poem  打出来的就是乱码  完全不知道该怎么办! 希望有人能解答一下
回复

使用道具 举报

0

主题

0

好友

6

积分

新手上路

Rank: 1

13#
发表于 2016-10-30 21:08:54 |只看该作者
#coding=utf-8
str1 = u"静夜思 李白床前明月光,疑似地上霜。举头望明月,低头思故乡。"
for i in range(6):
    temstr = '|'.join([str1[j] for j in range(0,len(str1)) if j%6 ==i][::-1])
    print temstr

不具有普适性哈哈
回复

使用道具 举报

1

主题

0

好友

207

积分

中级会员

Rank: 3Rank: 3

12#
发表于 2016-1-16 15:58:20 |只看该作者
  1. poem = "\
  2. 静夜思 李白\n\
  3. 床前明月光,\n\
  4. 疑似地上霜。\n\
  5. 举头望明月,\n\
  6. 低头思故乡。".split('\n')

  7. poem = poem[::-1]

  8. poemLength = 0
  9. for i in poem: poemLength = len(i) if poemLength < len(i) else poemLength
  10. poemWidth = len(poem)

  11. for i in range(0,poemLength):
  12.   for j in range(0,poemWidth):
  13.     try:
  14.       print(poem[j][i] if poem[j][i] != " " else "  " ,end="|")
  15.     except IndexError:
  16.       print(end="  |")
  17.   print()
复制代码
修改了一下,把正方形排版改成長方形,讓try except不會印一大堆沒用的空白排版造成的延遲
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

11#
发表于 2016-1-16 15:12:23 |只看该作者
manhong2112 发表于 2016-1-16 14:21
效果

good,不错啊
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

207

积分

中级会员

Rank: 3Rank: 3

10#
发表于 2016-1-16 14:21:40 |只看该作者
效果

螢幕擷取畫面 (15).png (41.86 KB, 下载次数: 524)

螢幕擷取畫面 (15).png

回复

使用道具 举报

1

主题

0

好友

207

积分

中级会员

Rank: 3Rank: 3

9#
发表于 2016-1-16 14:11:47 |只看该作者
本帖最后由 manhong2112 于 2016-1-16 14:24 编辑
  1. poem = "\
  2. 静夜思 李白\n\
  3. 床前明月光,\n\
  4. 疑似地上霜。\n\
  5. 举头望明月,\n\
  6. 低头思故乡。".split('\n')

  7. poem = poem[::-1]

  8. poemLength = 0
  9. for i in poem: poemLength = len(i) if poemLength < len(i) else poemLength
  10. poemSize = len(poem) if len(poem) > poemLength else poemLength

  11. for i in range(0,poemSize):
  12.   for j in range(0,poemSize):
  13.     try:
  14.       print(poem[j][i] if poem[j][i] != " " else "  " ,end="|")
  15.     except IndexError:
  16.       print(end="  ")
  17.   print()
复制代码
弄了兩個小時,總算寫出來了
回复

使用道具 举报

1

主题

0

好友

50

积分

注册会员

Rank: 2

8#
发表于 2014-6-23 16:03:38 |只看该作者

回帖奖励 +5

  1. #!/usr/bin/env python
  2. #coding:utf-8

  3. poem=unicode('静夜思 李白床前明月光,疑似地上霜。举头望明月,低头思故乡。','utf8')
  4. formatPoem=[[0 for col in range(5)] for row in range(6)]
  5. i=0
  6. j=4
  7. num=0
  8. for char in poem:
  9.     while i<6 and j>=0:
  10.         formatPoem[i][j]=char
  11.         i=i+1
  12.         num=num+1
  13.         break
  14.     if num%6==0:
  15.         j=j-1
  16.         i=0
  17. for list in formatPoem:
  18.     for char in list:
  19.         if char is not list[-1]:
  20.             print char+'|',
  21.         else:
  22.             print char,
  23.     print '\n',
  24. raw_input()
  25.    
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-18 23:42 , Processed in 0.022604 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部