今天在看《Python基础教程》第二版的时候看到代码清单2-3,自己试了试结果不对(输入的时候就感觉不太对,结果真的不对),于是自己修改了一下,主要是盒子里的空格数计算不对,还有就是如果按照原书的box_width的话,盒子会显得非常拥挤,于是我加大了盒子的宽度,代码如下
# 以正确的宽度在一个居中的“盒子”内打印一个句子
sentence = raw_input('Sentence: ')
screen_width = 80
text_width = len(sentence)
box_width = text_width + 24
left_margin = (screen_width - box_width) // 2
print
print ' ' * left_margin + '+' + '-' * (box_width-2) + '+'
print ' ' * ((screen_width- text_width - 4) // 2) + '| ' + ' ' * text_width + ' |'
print ' ' * ((screen_width- text_width - 4) // 2) + '| ' + sentence + ' |'
print ' ' * ((screen_width- text_width - 4) // 2) + '| ' + ' ' * text_width + ' |'
print ' ' * left_margin + '+' + '-' * (box_width-2) + '+'
print
这是修改盒子宽度前的效果
这是修改盒子宽度后的效果