2-2-3:序列(字符串)乘法(p32)

以正确的宽度在剧中的“盒子”内打印一个句子

分析:

定义屏幕宽度为80,输入的句子长度为26,盒子宽度=句子长度+6=26+6=32;

左边距=右边距,左边距+右边距+盒子宽度=屏幕宽度;

左边距=(屏幕宽度-盒子宽度)/2=(80-32)/2=24;

格式输出:

盒子四个角为+号,左面是空格,右面是空格(可以省略);

盒子上面是一行-号;

盒子第一行开始是|号,然后是空格,然后是|号;

盒子第二行开始是|号,然后是句子,然后是|号;

盒子第三行开始是|号,然后是空格,然后是|号;

盒子上面是一行-号;

输入的句子是:

She's a very naughty girl!(26个字符)

代码如下:

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 sentence=raw_input("Sentence: ")
 4 screen_width=80
 5 text_width=len(sentence)
 6 box_width=text_width+6
 7 left_magin=(screen_width-box_width)/2
 8 print
 9 print " "*left_magin+"+"+"-"*(box_width-2)+"+"
10 print " "*(left_magin)+"|"+" "*(text_width+4)+"|"
11 print " "*(left_magin)+"|"+" "*2+sentence+" "*2+"|"
12 print " "*(left_magin)+"|"+" "*(text_width+4)+"|"
13 print " "*left_magin+"+"+"-"*(box_width-2)+"+"
14 print

效果:

1 Sentence: She's a very naughty girl!
2 
3                         +------------------------------+
4                         |                              |
5                         |  She's a very naughty girl!  |
6                         |                              |
7                         +------------------------------+

扩展:

盒子的左面和右面都为*号,看下盒子是否位于屏幕居中

猜你喜欢

转载自www.cnblogs.com/scholarly/p/10200986.html