Python天天练1

原创
2016/11/18 10:49
阅读数 45

因为最近报名了学习linux运维的课程,所以老师虽然有讲Pyton,但是偏运维的多一些,但是个人觉得Python是一门很有趣的语言,相比之前学过的C和JAVA要易上手很多。所以决定,继续深入学习一下。

2016/11/2 日记

一、小程序

2016/11/2、源码:


#!/usr/bin/python
# _*_ coding:utf8 _*_
#Filename:以正确的宽度在居中的"盒子"内打印一个句子
#
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+'|' +' '*(box_width-2)  + '|'
print' '*left_margin+'|' +' '*2 + sentence +' '*2+'|'
print' '*left_margin+'|' +' '*(box_width-2)  + '|'
print' '*left_margin+'+' +'-'*(box_width-2)  + '+'
print
 

 

程序运行截图:

[root@localhost python_test]# vim box.py
[root@localhost python_test]# python box.py 
Sentence:hello money

                               +---------------+
                               |               |
                               |   hello money   |
                               |               |
                               +---------------+

[root@localhost python_test]# vim box.py
[root@localhost python_test]# python box.py 
Sentence:hello money

                               +-------------------+
                               |                        |
                               |  hello money   |
                               |                        |
                               +-------------------+

[root@localhost python_test]# vim box.py

第一次运行的时候,我发现没有对齐,最后查看源码,发现了问题。跟自己定义的box长度有很大的关系,最后改后就可以正常输出了。

2016/11/3


1.1源码:

#!/usr/bin/python
  2 #_*_ coding:utf8 _*_
  3 #Object:电话本的查询,与字典相关
  4 #
  5 people={
  6      'Alice':{
  7         'phone':'2341',
  8         'addr':'Foo drice 23'
  9      },
 10      'Beth':{
 11          'phone':'9102',
 12          'addr':'Bar street 42'
 13      },
 14      'Cecil':{
 15          'phone':3158,
 16          'addr':'Baz avenue 90'
 17      }
 18 }
 19 labels={
 20      'phone':'phone number',
 21      'addr':'address'
 22 }
 23 name=raw_input('Name: ')
 24 request=raw_input('Phone number(p) or address (a)?')
 

1.2 运行结果

 

注:在字典中如果用copy命令,比如将字典a复制给b。如果b中如果只是将以前的值覆盖掉,a不会改变,如果是在只是修改字典中的某些值,则a也会发生改变。所以,我们需要b=deepcopy(a) 。

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部