鱼C论坛

 找回密码
 立即注册
查看: 1559|回复: 0

[技术交流] 字符串打印

[复制链接]
发表于 2020-5-10 09:20:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #coding = utf-8
  2. def printf_head():
  3.     '''
  4.     +----------+-------+
  5.     |item      |data   |
  6.     +----------+-------+
  7.     '''
  8.     name_width = 30
  9.     data_width = 10
  10.     name_str = ' Item'
  11.     data_str = ' Data'
  12.     name_strlen = len(name_str)
  13.     data_strlen = len(data_str)
  14.     if name_strlen >= name_width:
  15.         name_str = name_str[:name_width]
  16.     else:
  17.         filling_name = name_width - name_strlen
  18.     if data_strlen >= data_width:
  19.         data_str = data_str[:data_width]
  20.     else:
  21.         filling_data = data_width - data_strlen
  22.     print('+{0}+{1}+'.format('-'*name_width,'-'*data_width))
  23.     print('|{na}{nlen}|{da}{dlen}|'.format(na=name_str,nlen=' '*filling_name,
  24.     da=data_str,dlen=' '*filling_data))
  25.     print('+{0}+{1}+'.format('-'*name_width,'-'*data_width))
  26.    
  27. def printf_data(name_str,data_str):
  28.     '''
  29.     |          |       |
  30.     '''
  31.     name_width = 30
  32.     data_width = 10
  33.     #add str 'spaces'
  34.     name_str = ' '+name_str
  35.     data_str = ' '+data_str
  36.     name_strlen = len(name_str)
  37.     data_strlen = len(data_str)
  38.     if name_strlen >= name_width:
  39.         name_str = name_str[:name_width]
  40.         filling_name = name_width - name_strlen
  41.     else:
  42.         filling_name = name_width - name_strlen
  43.     if data_strlen >= data_width:
  44.         data_str = data_str[:data_width]
  45.         filling_data = data_width - data_strlen
  46.     else:
  47.         filling_data = data_width - data_strlen
  48.     print('|{na}{nlen}|{da}{dlen}|'.format(na=name_str,nlen=' '*filling_name,
  49.     da=data_str,dlen=' '*filling_data))
  50.    
  51. def printf_end():
  52.     '''
  53.     +----------+-------+
  54.     '''
  55.     name_width = 30
  56.     data_width = 10
  57.     print('+{0}+{1}+'.format('-'*name_width,'-'*data_width))
  58.    

  59. # name = input('Please input string:')
  60. # data = input('Please input data:')
  61. printf_head()
  62. name = ['gin','lsp','dhg','ht','lnn']
  63. data = (170,160,165,172,170)
  64. for x,j in zip(name,data):
  65.     printf_data(x,str(j))
  66. printf_end()
复制代码
  1. +------------------------------+----------+
  2. | Item                         | Data     |
  3. +------------------------------+----------+
  4. | gin                          | 170      |
  5. | lsp                          | 160      |
  6. | dhg                          | 165      |
  7. | ht                           | 172      |
  8. | lnn                          | 170      |
  9. +------------------------------+----------+

  10. 请按任意键继续. . .
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 01:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表