1、题目:输出 9*9 乘法口诀表。
    程序分析:分行与列考虑,共9行9列,i控制行,j控制列
    代码:
  1. for i in range(1,10):
  2. print ('\r')
  3. for j in range(1,i+1):
  4. print "%d*%d=%d" %(i,j,i*j) ,

2、题目:有两个磁盘文件A和B,各存放一行字母,把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中

代码:

  1. fo=open("/Users/chichi/Documents/pythonscript/python学习/练手实例/a.txt")
  2. str1=fo.read()
  3.  
  4. fo2=open("/Users/chichi/Documents/pythonscript/python学习/练手实例/b.txt")
  5. str2=fo2.read()
  6.  
  7. str3=list(str1+str2)
  8. str3.sort()
  9. s=''
  10. s=s.join(str3)
  11.  
  12. fo3=open("/Users/chichi/Documents/pythonscript/python学习/练手实例/c.txt","a+")
  13. fo3.write(s)

3、题目:从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止

代码:

  1. def fo():
  2. str=''
  3. fo2=open("/Users/chichi/Documents/pythonscript/python学习/练手实例/d.txt","w")
  4. while "#" not in str:
  5. fo2.write(str)
  6. str=raw_input("请输入内容:")
  7.  
  8. fo()

4、题目:假设我们有一份文件,文件中包含了很多个人信息。现在需要一份去除其中敏感信息的版本,将文件中所有手机号的4~7位和身份证号的6~15位用 * 替换

代码:

  1. #coding=utf-8
  2.  
  3. import re
  4. def remove(data, i, line, regex, left, right):
  5. m=re.search(regex,line)
  6. #re.search(pattern, string[, flags]) 若string中包含pattern子串,则返回Match对象,否则返回None,注意,如果string中存在多个pattern子串,只返回第一个
  7. if m:
  8. digits = m.group(0)
  9. start, end = m.start(0), m.end(0)
  10. data[i]=line[:start+left] + '*' * (right-left+1)+ line[start+right+1:]
  11. return True
  12. return False
  13.  
  14. infile='/Users/chichi/Documents/pythonscript/python学习/练手实例/info.txt'
  15. outfile='/Users/chichi/Documents/pythonscript/python学习/练手实例/outfile.txt'
  16. with open(infile) as fr:
  17. data=fr.readlines()
  18.  
  19. regex_id='(\d{18}|\d{17}x)'
  20. regex_phone='1\d{10}'
  21. for i, line in enumerate(data):
  22. status = remove(data, i, line, regex_id, 5, 14)
  23. if not status:
  24. status = remove(data, i, line, regex_phone, 3, 6)
  25.  
  26. with open(outfile, 'w') as fw:
  27. for line in data:
  28. fw.write(line)
  29.  
  30. #enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中

5、题目:从控制台输入或从文件中读入一段文本,统计出其中每个字符出现的次数,并按照出现次数排序输出

代码:

  1. #range() 函数可创建一个整数列表,一般用在 for 循环中
  2. #语法:range(start, stop[, step])
  3. #参数说明:
  4. #start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  5. #stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  6. #step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
  7. #list.count(obj) 统计某个元素在列表中出现的次数
  8. #list.append(obj) 在列表末尾添加新的对象
  9. #方式一
  10. def countstr():
  11. stra=raw_input("请输入一串英文字符:")
  12. list=[]
  13. for i in range(len(stra)):
  14. num=str(stra.count(stra[i]))
  15. strb=stra[i]+":"+num
  16. if strb not in list:
  17. list.append(strb)
  18. print list
  19.  
  20. countstr()
  21.  
  22. """
  23. str=raw_input("请输入一个字符串:")
  24. res={}
  25. for i in str:
  26. if i in res:
  27. res[i]=res[i]+1
  28. else:
  29. res[i]=1
  30. print(res)
  31. """

6、题目:随机生成5个长度为6的优惠码

  1. #方式一
  2. import random
  3. def creat_num(num,long):
  4. str = 'qwertyuiopasdfghjklzxcvbnm1234567890'
  5. b = []
  6. for i in range(num):
  7. a = ''
  8. for j in range(long):
  9. a = a+random.choice(str)
  10. b.append(a)
  11. return b
  12.  
  13. print creat_num(5,6)
  14.  
  15. """
  16.  
  17. import random
  18. stra='abcdefghijklmnopqrstuvwxyz0123456789'
  19. def create_num(num,long):
  20. for i in range(num):
  21. a=''
  22. for j in range(long):
  23. a=a+random.choice(stra)
  24. print a
  25.  
  26. create_num(7,8)

7、题目:人民币转换

  1. # -*- coding: UTF-8 -*-
  2. dollarClass="{}元"
  3. hornClass="{}元{}角"
  4. centClass="{}元{}角{}分"
  5.  
  6. def convert(input):
  7. data = input.split(".")
  8. if 1==len(data):
  9. return dollarClass.format(data[0])
  10. elif 2==len(data):
  11. if 1==len(data[1]):
  12. return hornClass.format(data[0],data[1])
  13. elif 2==len(data[1]):
  14. horn=data[1]
  15. return centClass.format(data[0],horn[0],horn[1])
  16. else:
  17. return "没有比分更少了哦"
  18. else:
  19. return "这是外星货币哦"
  20.  
  21. print(convert("134.27"))
  22. print(convert("34.27"))
  23. print(convert("34.2"))
  24. print(convert(""))
  25. print(convert("0.23"))
  26. print(convert(".23"))
  27. print(convert("0.234"))
  28. print(convert("0.234.1"))
  29. print(convert("0.234.1"))

python学习笔记-练手实例的更多相关文章

  1. 廖雪峰Python学习笔记——类和实例

    Class MyList(list): __metaclass__ = ListMetaclass #它表示在创建MyList这个类时,必须通过 ListMetaclass这个元类的LIstMetac ...

  2. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

  3. [Python学习笔记]正则表达式总结

    常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...

  4. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  5. 【python学习笔记】7.更加抽象

    [python学习笔记]7.更加抽象 类的定义就是执行代码块 在内存保存一个原始实例,可以通过类名来访问 类的实例化,是创建一个原始实例的副本, 并且所有成员变量与原始实例绑定 通过修改实例变量,可以 ...

  6. python学习笔记5_异常

    python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...

  7. python学习笔记4_类和更抽象

    python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...

  8. Python 学习笔记 - 不断更新!

    Python 学习笔记 太久不写python,已经忘记以前学习的时候遇到了那些坑坑洼洼的地方了,开个帖子来记录一下,以供日后查阅. 摘要:一些报错:为啥Python没有自增 ++ 和自减 --: 0x ...

  9. Python学习:类和实例

    Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规 ...

随机推荐

  1. Struts2拦截器概述

    --------------------siwuxie095 Struts2 拦截器概述 1.Struts2 框架封装的很多功能都在 Struts2 的拦截器中 2.Struts2 框架中有很多拦截器 ...

  2. 获取set()和push()方法向值栈放的数据

    ------------------siwuxie095 获取 set() 方法向值栈放的数据 1.具体步骤 (1)在 Action 中使用 set() 方法向值栈放数据 (2)在 JSP 页面中从值 ...

  3. Common issue on financial information exchange (FIX) Connectivity[z]

    FIX Protocol Session Connectivity Hi guys, in this post I would like share my experience with financ ...

  4. AES加解密

    AES加密类 <?php //php aes加密类 class AESMcrypt { public $iv = null; public $key = null; ; private $cip ...

  5. F650 led驱动

    http://www.fdhisi.com/product/class/74/index.php?page=1&key= 福州福大海矽微电子有限公司 FD650 两线式串行接口 2.7-5.5 ...

  6. ScrollView中嵌套ListView的问题

    网上关于怎样在ScrollView中嵌套ListView的讨论有很多,我大概是搜索了一下,简单总结如下: 1.不要在ScrollView中嵌套ListView a.用一个LinearLayout来代替 ...

  7. DataStage 三、配置ODBC

    DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 1 配置ODBC需要了解的基础知识 配置O ...

  8. ie7下 li多了4像素

    当li 设置了float 后,在ie7 下便会产生margin-bottom:4px的bug,即使设置margin-bottom为0也不能清除. 可以通过csshack 解决: 1:在ie7下 将he ...

  9. 续安装好composer和workerman之后;TP5运行workerman的操作

    TP5想要实现时时通讯:首先先安装好composer和workerman,我之前有写一篇安装的方法,在cmd里面安装:tp5手册上面有写cmd命令的代码:接下来是安装好后如何运行的: 首先在项目中建立 ...

  10. .NET基础 (21)ASP NET应用开发

    ASP.NET中的WebForm相关的内容其实有点儿过时了,但在很多的老项目中还是WebForm的,这些都是遗留问题,新上的项目基本上都用MVC了,在微软最新的 ASP.NET 的版本中已经默认使用M ...