买了本学习python的书,看了几天,想写个简单的程序,下面就是一个简单的类似记事本一样的小程序,器功能主要有:

1提示你是想流泪这个文件还是想写东西到这个文件

2.输入R或者r,表示想看这个程序写的文件

3,输入W或者w,表示想写东西到这个文件

4,如果输入Q或者q,表示想退出程序

期间得到很到热心的Q友的帮助,下面贴出代码和注释,大家感兴趣可以看下,有好多地方可以修改的地方,如果有不对的地方,希望大家提出宝贵意见

  1. #!/usr/bin/env python
  2. import os
  3. import string
  4. print ("This notepad write by python 2.6")
  5. print ("Editor: Iding")
  6. print ("Version:0.0.1")
  7. ##这是判断取得昵称的函数,有判断在里面,判断输入昵称的长度
  8. def input_nick():
  9. while True:
  10. nick=raw_input("please input your nick:")
  11. if len(nick)<3:
  12. print ("your nick too short ,please again!")
  13. elif len(nick)>15:
  14. print ("your nick too long ,please again!")
  15. else:
  16. print ("Your nick is %s" % nick)
  17. return nick
  18. break
  19. ##这是判断取得手机号码的函数,有判断在里面,判断输入号码的长度和类型
  20. def input_mob_number():
  21. while True:
  22. mob_number=raw_input("please input your mob_number:")
  23. if len(mob_number) !=11 :  #长度必须是11位
  24. print ("Your mob_number's length is wrong ,please again!")
  25. elif mob_number.isdigit() and len(mob_number)==11 :
  26. #长度必须是11位且必须都是数字
  27. print ("Your mob_number is %s" % mob_number)
  28. return mob_number
  29. break
  30. else :
  31. print ("Your input has wrong charter,please again!")
  32. ##这是判断取得QQ号的函数,有判断在里面,判断输入昵称的长度和类型
  33. def input_qq():
  34. while True:
  35. qq=raw_input("please input your QQ_Number:")
  36. if len(qq) <6 :
  37. #号码长度必须大于6位
  38. print ("your number is too short!")
  39. elif qq.isdigit() and len(qq) <=12 :
  40. #号码必须都是数字且小于12位
  41. print ("Your qq number is: %s" % qq )
  42. return qq
  43. break
  44. else:
  45. print ("you input has wrong character!")
  46. while True:
  47. print ("#############This is a notepad programe writed by python!################")
  48. print ("#############please input your choice:R or W#############################")
  49. print ("#############if you input r or R ,mean you want to read notepad##########")
  50. print ("#############if you input w or W mean you want to write to notepad#######")
  51. print ("#############if you input q or Q mean your want to quit #################")
  52. print ("")
  53. print ("")
  54. print ("")
  55. input=raw_input("please input your choice:")
  56. if input.startswith('r') or input.startswith('R'):
  57. print ("")
  58. print ("you want to read file")
  59. print ("")
  60. print ("")
  61. f = open('notepad.txt')  #打开文件
  62. totallines=len(f.readlines())  #得到文件总的行数
  63. print ("This notepad has  %s records" % totallines )  #说明共有几行内容
  64. f.close()  #关闭文件,
  65. f1=open("notepad.txt")   #这里又要打开文件,这里比较纠结,应该有更好的方法
  66. for line_number in range(1,totallines+1):
  67. content=f1.readline()
  68. print "NO. "+ str(line_number)+" :  "+ content
  69. #打印文件内容
  70. f1.close()
  71. break
  72. elif input.startswith('w') or input.startswith('W'):
  73. print ("you want to write file")
  74. nick=input_nick()  #得到昵称
  75. mob_number=input_mob_number()  #得到号码
  76. qq=input_qq()
  77. notepad=file("notepad.txt","a")  #追加方式打开文件
  78. print >>notepad,nick,mob_number,qq  #把内容写入文件
  79. notepad.close()
  80. elif input.startswith('q') or input.startswith('Q'):
  81. print ("you want to exit programe")
  82. break
  83. else:
  84. print ("your input has wrong character,please again!")

上面的代码是比较粗糙的,有好多地方需要修改,尤其是对文件的操作,不是很清楚,以至于要2次打开和关闭文件,希望有人可以告诉我如何修改,只要一次打开i文件就可以完成操作,这个程序没有涉及到吧数据写入数据库,下次准备改下,把内容写入到数据库中。。。

由于python对源代码的格式缩进有严格的要求,所有大家写的时候要注意,我把源代码也传了上来,如果感谢去,可以看看。。。。

转载于:https://blog.51cto.com/world77/485945

python学习之记事本相关推荐

  1. Python学习笔记:常用内建模块2:collections

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  2. python学习--关注容易被忽略的知识点---(一)python基础

    本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...

  3. 【Python学习笔记】超详细Python快速入门教程(下)

    文章目录 031 变量的作用域 032 递归函数 033 异常处理机制 034 class自定义类 035 object内置类 036 多态 037 特殊方法和属性 038 类的深拷贝和浅拷贝 039 ...

  4. python学习第一课

    python学习第一课 课前回顾 1.请求类型: 2.传参类型: 3.postman断言.参数化.多接口参数依赖 接口文档 这个接口是做什么的?URL请求类型参数--> 如何传递参数params ...

  5. 【Python小案例教程1】Python开发简单记事本

    ####前言: 本文是使用Python,结合Tkinter开发简单记事本. ####基本环境配置: Python版本:2.7 编辑器:pycharm ####实现效果: ####主要思路: 我们可以看 ...

  6. 转载 Python 学习-Matplotlib库

    Python学习-Matplotib 载出处:https://blog.csdn.net/weixin_60535956/article/details/128311973 目录 Matplotlib ...

  7. Python学习笔记:第十五站 大宝藏

    Python学习笔记 文章目录 Python学习笔记 第十五站 大宝藏 1. 编码格式介绍 2. 文件的读写原理 3. 文件读写操作 4. 文件对象常用的方法 5. with语句(上下文管理器) 6. ...

  8. pygame是python的一个库吗,python学习pygame,,基本库导入impor

    python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...

  9. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

  10. python学习------tab补全

    python学习------tab补全   python也可以进行tab键补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/env  ...

最新文章

  1. XCode 7上传遇到ERROR ITMS-90535 Unexpected
  2. JDK 14的新特性:switch表达式
  3. vue中 mock使用教程
  4. 【Linux】crontab 定时启动sh
  5. 成外集训小记(更新到7.31)
  6. 成都将于1月27日开启数字人民币红包活动
  7. ViewPager——基础知识和PagerAdapter必须重写的四个方法
  8. 注解 java 原理_Java注解基本原理
  9. C++并发与多线程(一)线程传参
  10. linux 设置时间
  11. Ubuntu 20.04 锐捷客户端安装记录
  12. 学习Java有哪些值得推荐的Java书籍?
  13. JavaScript - 360浏览器默认使用极速模式打开网页
  14. yigo基础学习笔记3_数据映射_上引下推
  15. 暑假D16 T3 密道(数位DP? 打表找规律)
  16. PAT1023 组个最小数给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小例如:给定两个0两个1三个5一个8得到的数字就是10015558
  17. 老虎的屁股摸不得,宝宝的屁屁一样碰不得!
  18. 条件概率、全概率、先验概率、后验概率
  19. 这些曾经世界第一的手游,现在全都凉了
  20. 傅里叶变换中,圆频率w与频率f之间的公式转化

热门文章

  1. arcgis 画图问题
  2. 李宏毅机器学习homework0
  3. matlab-读取文件
  4. python 删除满足条件的行
  5. java SimpleDateFormat类浅析
  6. Flink Weekly | 每周社区动态更新 - 20200107
  7. android可以root的版本,Android8.0以上系统ROOT时,Magisk框架替代SpuerSU
  8. 存在out参数的webservices_Sentaurus Device材料参数的那些事
  9. C语言substr函数用法,自己实现substr函数——C语言
  10. 计算机领域男的多大年龄退休,2022年后男性几岁退休 2022退休时间表