风云第一刀 发表于 2016-5-22 11:24 
呵呵,太粗心了。居然写错变量名了。
真是不动手不知道,原来书上示例代码有问题,照他的做法最后输出应该是
仔细查看代码,box宽是字符串+6,扣掉两个边,应该还要加4才对得齐啊。
所以代码调整为:
#-*- coding:utf8 -*-
#coding=utf-8
#以正确的宽度在居中的盒子里打印句子
#注意整数除法运算符(//)只能在python2.2以及后续版本使用
sentence=raw_input("Sentence: ")
screen_width=80
text_width=len(sentence)
box_width=text_width+6
left_margin=(screen_width-box_width)//2
print
print' '*left_margin + '+' + '-'*(box_width-2) + '+'
print' '*left_margin + '|' + ' '*(text_width+4) + '|'
print' '*left_margin + '|' +' '*2+ sentence+' '*2 + '|'
print' '*left_margin + '|' + ' '*(text_width+4) + '|'
print' '*left_margin + '+' + '-'*(box_width-2) + '+'
print
结果就正常了。