Crossin的编程教室

标题: 【Python 第29课】 连接list [打印本页]

作者: crossin先生    时间: 2014-4-24 18:34
标题: 【Python 第29课】 连接list
今天要说的方法是join。它和昨天说的split正好相反:split是把一个字符串分割成很多字符串组成的list,而join则是把一个list中的所有字符串连接成一个字符串。

join的格式有些奇怪,它不是list的方法,而是字符串的方法。首先你需要有一个字符串作为list中所有元素的连接符,然后再调用这个连接符的join方法,join的参数是被连接的list:

s = ';'
li = ['apple', 'pear', 'orange']
fruit = s.join(li)
print fruit

得到结果'apple;pear;orange'。
从结果可以看到,分号把list中的几个字符串都连接了起来。

你也可以直接在shell中输入:

';'.join(['apple', 'pear', 'orange'])

得到同样的结果。

用来连接的字符串可以是多个字符,也可以是一个空串:

''.join(['hello', 'world'])

得到'helloworld',字符串被无缝连接在一起。


#==== 点球小游戏 ====#

昨天的代码已经能实现一个完整的点球比赛过程,但有同学提出:这不符合真实比赛规则,说好的提前结束比赛呢?!

关于这个,我想了下,可以有好几种解决方法,但似乎都有些绕。所以放到明天单独来讲,把这个小游戏收尾。


作者: cross    时间: 2015-4-22 16:50

作者: csyhhb    时间: 2015-5-14 09:42
__author__ = 'Administrator'

score_you = 0
score_com = 0

for i in range(5):
    print '=== You Kick - Round %d ===' % (i+1)
    print 'Choose a side to shoot(left,middle,right):'
    youChoice = raw_input()
    print 'You kicked ' + youChoice
    direction = ['left', 'middle', 'right']
    comChoice = choice(direction)
    print 'Computer saved ' + comChoice
    if youChoice != comChoice:
        print 'Go~Go~Goal~~~\n'
        score_you += 1
    else:
        print 'Oops...\n'
    if abs(score_you-score_com) > (5-i):
        break

    print '=== You Save - Round %d ===' % (i+1)
    print 'Choose a side to save(left,middle,right):'
    youChoice = raw_input()
    print 'You saved ' + youChoice
    direction = ['left', 'middle', 'right']
    comChoice = choice(direction)
    print 'Computer kicked ' + comChoice
    if youChoice == comChoice:
        print 'Sa~Sa~Saved~~~'
    else:
        print 'Oops...'
        score_com += 1
    print 'you %d : computer %d\n' % (score_you, score_com)
    if abs(score_you-score_com) >= (5-i):
        break

while score_you == score_com:
    i += 1
    print '=== You Kick - Round %d ===' % (i+1)
    print 'Choose a side to shoot(left,middle,right):'
    youChoice = raw_input()
    print 'You kicked ' + youChoice
    direction = ['left', 'middle', 'right']
    comChoice = choice(direction)
    print 'Computer saved ' + comChoice
    if youChoice != comChoice:
        print 'Go~Go~Goal~~~\n'
        score_you += 1
    else:
        print 'Oops...\n'

    print '=== You Save - Round %d ===' % (i+1)
    print 'Choose a side to save(left,middle,right):'
    youChoice = raw_input()
    print 'You saved ' + youChoice
    direction = ['left', 'middle', 'right']
    comChoice = choice(direction)
    print 'Computer kicked ' + comChoice
    if youChoice == comChoice:
        print 'Sa~Sa~Saved~~~'
    else:
        print 'Oops...'
        score_com += 1
    print 'you %d : computer %d\n' % (score_you, score_com)

if score_you > score_com:
    print 'You Win'
else:
    print 'You Lose'
作者: lovia    时间: 2015-5-27 23:49
  1. sybol=" "
  2. word=['i','am','your','brother','Crossin','is','my','teacher!']
  3. print sybol.join(word)
复制代码

作者: catherinemic    时间: 2016-1-2 14:22
  1. s=' '
  2. list=['I','am','a','teacher']
  3. sentence=s.join(list)
  4. print sentence
复制代码

Python14.png (1.76 KB, 下载次数: 248)

Python14.png


作者: 司南    时间: 2018-4-7 21:17
实践后心得:
join是字符串的方法,一旦序列中包含非字符串格式的元素,那么join时就会报错。




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5