python基础教程共60课-第28课字符串的分割

【Python 第28课】 字符串的分割
字符串和list之间有很多不得不说的事。比如有同学想要用python去自动抓取某个网页上的下载链接,那就需要对网页的代码进行处理。处理的过程中,免不了要在字符串和list之间进行很多操作。

我们先从最基本的开始。假设你现在拿到了一个英语句子,需要把这个句子中的每一个单词拿出来单独处理。

sentence = 'I am an Englist sentence'

这时就需要对字符串进行分割。

sentence.split()

split()会把字符串按照其中的空格进行分割,分割后的每一段都是一个新的字符串,最终返回这些字符串组成一个list。于是得到

['I', 'am', 'an', 'Englist', 'sentence']

原来字符串中的空格不再存在。

除了空格外,split()同时也会按照换行符\n,制表符\t进行分割。所以应该说,split默认是按照空白字符进行分割。

之所以说默认,是因为split还可以指定分割的符号。比如你有一个很长的字符串

section = 'Hi. I am the one. Bye.'

通过指定分割符号为'.',可以把每句话分开

section.split('.')

得到

['Hi', ' I am the one', ' Bye', '']

这时候,'.'作为分割符被去掉了,而空格仍然保留在它的位置上。

注意最后那个空字符串。每个'.'都会被作为分割符,即使它的后面没有其他字符,也会有一个空串被分割出来。例如

'aaa'.split('a')

将会得到['', '', '', ''],由四个空串组成的list。

既然有把字符串分割成list,那也相应就有把list连接成字符串,这个明天说。

#==== 点球小游戏 ====#
在昨天代码的基础上,我们加上胜负判断,如果5轮结束之后是平分,就继续踢。

所以我们把一轮的过程单独拿出来作为一个函数kick,在5次循环之后再加上一个while循环。

另外,这里把之前的score_you和score_com合并成了一个score数组。这里的原因是,要让kick函数里用到外部定义的变量,需要使用全局变量的概念。暂时想避免说这个,而用list不存在这个问题。

from random import choice
score = [0, 0]
direction = ['left', 'center', 'right']
def kick():
   print '==== You Kick! ===='
   print 'Choose one side to shoot:'
   print 'left, center, right'
   you = raw_input()
   print 'You kicked ' + you
   com = choice(direction)
   print 'Computer saved ' + com
   if you != com:
       print 'Goal!'
       score[0] += 1
   else:
       print 'Oops...'
   print 'Score: %d(you) - %d(com)\n' % (score[0], score[1])
   print '==== You Save! ===='
   print 'Choose one side to save:'
   print 'left, center, right'
   you = raw_input()
   print 'You saved ' + you
   com = choice(direction)
   print 'Computer kicked ' + com
   if you == com:
       print 'Saved!'
   else:
       print 'Oops...'
       score[1] += 1
   print 'Score: %d(you) - %d(com)\n' % (score[0], score[1])
for i in range(1):
   print '==== Round %d ====' % (i+1)
   kick()
while(score[0] == score[1]):
   i += 1
   print '==== Round %d ====' % (i+1)
   kick()
if score[0] > score[1]:
   print 'You Win!'
else:
   print 'You Lose.'

python基础教程共60课-第28课字符串的分割相关推荐

  1. Python基础教程(五):数字、字符串

    Python 数字 Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时数字对象将被创建: var1 = 1 ...

  2. python2.7教程 pdf_PYTHON基础教程至60课(2.7版本)整理

    python 基础教程至 60 课整理 2014 年 7 月 10 日:(整理前几天内容) 1. 疑惑: a. for score in data [1:]: 解答:将 score 一一赋 data ...

  3. 九、给小白看的第二篇Python基础教程

    本文是第二篇 @Author:Runsen @Date:Writern By 2019/04/15 and supplied By 2020/3/31 @公众号:Python之王 本系列Python基 ...

  4. Python程序设计与算法基础教程(第二版)微课版第四章上机实践答案

    Python程序设计与算法基础教程(第二版)微课版第四章上机实践答案 2. def generate(L) : #生成杨辉三角的 一行List = [1]for x in range(1,len(L) ...

  5. python基础教程视频(全13集)-Python基础视频教程(600集)【传智播客精品教程】...

    Python基础视频教程 初级共600节课 本套视频是传智播客紧抓未来最大趋势--人工智能,应运而生的一套Python入门视频教程,Python是学习人工智能的首选语言,而该视频是专门针对零基础的学员 ...

  6. python基础教程书籍推荐-Python大神推荐给小白的36本入门书籍

    Python大神推荐给小白的36本入门书籍 如果看我喜欢可以找我领取Python电子书和学习资料 1.Python编程:从入门到实践 我自己最初看的这本书,觉得非常适合入门 2.python入门经典- ...

  7. python基础教程百度云-python从入门到精通视频百度云盘下载

    python入门教程-9-Python编程风格(1).zip python入门教程-8-Python编程语言基础技术框架(4)之函数介绍.zip python入门教程-7-Python编程语言基础技术 ...

  8. python基础教程第三版豆瓣-1024,程序媛/猿请查收!

    点击上方蓝字关注我们 节专享福利:1024程序员 本期活动,不仅有赠书福利,且有购书福利,图灵公司联合当当网特意为{印象python}读者们申请了一波购书福利.感兴趣的读者朋友,请下拉至文末,领取福利 ...

  9. python基础教程多少钱-厦门厦禾路Python基础教程培训费用多少-泰兴市新闻

    厦门厦禾路Python基础教程培训费用多少-泰兴市新闻 [美力程]是厦门中信教育旗下,专注于中国6-18岁青少年STEAM创客教育的先锋品牌.依托中心20+年积累的计算机教育经验和职业IT精英教研团队 ...

  10. python自学网站有哪些-Python学习网站有哪些?Python基础教程网站推荐

    Python学习网站有哪些?Python基础教程网站推荐:菜鸟教程.PHP中文网.PHP中文网.W3C.Reddit.博学谷.python中文学习大本营.Python 3 Module of the ...

最新文章

  1. SpringMVC 国际化
  2. 2016百度之星 - 资格赛(Astar Round1)
  3. SemEval-2020自由文本关系抽取冠军方案解读 (附NLP竞赛常用技巧总结)
  4. Spork: Pig on Spark实现分析
  5. IOS基础之segue使用,
  6. 男人是消耗品,女人是战利品?
  7. python dict.fromkeys()研究
  8. LeetCode MySQL 1777. 每家商店的产品价格(行列转换)
  9. yearning 2. 部署_对于企业来说,在选择协同办公系统的时候,选择私有化部署的数据安全一些,还是使用云服务器比较安全?...
  10. Python_爬虫_案例汇总:
  11. CPU高速缓存与极性代码设计
  12. 3-1-Servlet技术
  13. TransparentImage、TransparentBlt - [Daliy APIs]
  14. 【蓝桥杯】Java_B组2015年省赛真题
  15. bus error的解决方法
  16. win10管理员权限启动cmd
  17. win10下以管理员身份修改hosts文件
  18. 汇编语言(二)之将十进制数的ASCⅡ码转换为BCD码
  19. 微信小程序使用真机或开发工具进行http请求开发测试亲测有效
  20. 牛客网——综合错题集

热门文章

  1. [Windows]笔记本触摸板手势突然不起作用的解决办法
  2. kafka7 探索生产者同步or异步发送消息
  3. 聊聊Ping命令的返回值Pong
  4. 自然辩证法概论-雨课堂
  5. SDRAM-高手进阶,终极内存技术指南----学习笔记
  6. 2015年6月26日-ps图层蒙版
  7. linux 播放mkv视频,Fedora 22 怎么播放 rmvb mp4 mkv 视频文件
  8. matlab绘制二元函数,matlab绘制二元函数z=x∧2+y∧2,y=0,y=x∧2,z=0的图像
  9. Blast2GO使用方法详解(命令界面)
  10. 获取鼠标图片和鼠标位置的方法