《Python基础教程》第二版代码清单2-3更正

今天在看《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

这是修改盒子宽度前的效果

这是修改盒子宽度后的效果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯Bugly的专栏

优化安卓应用内存的神秘方法以及背后的原理,一般人我不告诉他

安卓应用一般都害怕自己被杀,内存占用高是被杀的重要原因之一,所以大家都想尽各种招数应对,但效果都一般。 但有一招: WindowManagerGlobal.ge...

6896
来自专栏MelonTeam专栏

小白看React Native

1.What is React Native ? 众所周知,产品的需求总是想快速的迭代。但是由于应用分发市场的审核机制(主要是iOS审核),使一些快速迭代的...

8648
来自专栏互联网杂技

设计师也能轻松掌握的前端小知识

阅读须知: 工具不重要,工具不重要,工具不重要……OK?有人说DW早就淘汰了,我造啊,然后呢?我还打算用小红本(editPlus)讲呢,哈哈哈哈…… 希望乃们接...

3428
来自专栏水击三千

radio与checkbox

最近一直在学习Javascript与asp.net MVC4,每天都在跟着书学习。这样总感觉自己看的很抽象,没有点实际的意义。而且,每次看的东西很容易忘记,所以...

2319
来自专栏编程微刊

markdown模式的一些语法标题一

1171
来自专栏前端桃园

深入理解虚拟 DOM,它真的不快

前两天发了一篇别再说 React 快了,要被打脸的,有些人一看到标题就开始喷了,有数据支撑吗?你的意思就是 diff 算法慢咯?等等等,对于这种人我也只能呵呵了...

1091
来自专栏Jacklin攻城狮

iOS中,系统相册的那些事

912
来自专栏攻城狮的动态

iOS中,系统相册的那些事

2814
来自专栏walterlv - 吕毅的博客

Visual->UIElement->FrameworkElement,带来更多功能的同时也带来了更多的限制

发布于 2017-11-13 15:55 更新于 2018-02...

543
来自专栏web编程技术分享

《从案例中学习JavaScript》之实现对话效果(2)-- 附超简单函数封装技巧

3196

扫码关注云+社区