python基础知识之列表的加法、乘法

python基础知识之列表的加法、乘法

列表的加法

通过加法运算符将列表连接起来,加法运算符还可将字符串连接起来,但是,不能将列表和字符串连接。

>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> 'hello,'+'world!'
'hello,world!'
>>> [1,2,3]+'hello'
>>> [1,2,3]+'hello'
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    [1,2,3]+'hello'
TypeError: can only concatenate list (not "str") to list
>>>

列表的乘法

用数字x乘以一个列表生成一个新列表,即原来的列表被重复x次(字符串也这样)。

>>> 'python'*3
pythonpythonpython'
>>>[31]*3
[31, 31, 31]
>>>

空列表 [ ] 表示什么都没有。
初始化 None 表示“没有内容”,但是需要创建一个占用多个元素的空间。

>>> result=[None]*4
>>> result
[None, None, None, None]
>>>

盒子例子

打印一个由字符组成的盒子,盒子在屏幕上居中且根据用户输入的句子自动调整大小。
盒子1:

#以正确宽度在居中的盒子内打印句子
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+ '|' + (box_width-text_width-2)//2*' '+sentence +(box_width-text_width-2)//2*' '+ '|'
print ' '*left_margin+ '|' +' '* (box_width-2) + '|'
print ' '*left_margin+ '+' + '_' * (box_width-2) + '+'
print

结果为:

>>> ================================ RESTART ================================
>>> 
sentence:Where are you ?

                             +___________________+
                             |                   |
                             |  Where are you ?  |
                             |                   |
                             +___________________+

>>> 
>>> ================================ RESTART ================================
>>> 
sentence:do you know you are a bad man?

                      +__________________________________+
                      |                                  |
                      |  do you know you are a bad man?  |
                      |                                  |
                      +__________________________________+


>>> 

盒子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+(box_width-text_width-2)//2)+ '|' +' '* text_width + '|'
print ' '*(left_margin+(box_width-text_width-2)//2)+ '|' +sentence + '|'
print ' '*(left_margin+(box_width-text_width-2)//2)+ '|' +' '* text_width + '|'
print ' '*left_margin+ '+' + '_' * (box_width-2) + '+'
print

结果为:

>>> ================================ RESTART ================================
>>> 
sentence:Where are you ?

                             +___________________+
                               |               |
                               |Where are you ?|
                               |               |
                             +___________________+

>>> ================================ RESTART ================================
>>> 
sentence:Do you know you are a bad man?

                      +__________________________________+
                        |                              |
                        |Do you know you are a bad man?|
                        |                              |
                      +__________________________________+

>>> 
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值