python学习之记事本
买了本学习python的书,看了几天,想写个简单的程序,下面就是一个简单的类似记事本一样的小程序,器功能主要有:
1提示你是想流泪这个文件还是想写东西到这个文件
2.输入R或者r,表示想看这个程序写的文件
3,输入W或者w,表示想写东西到这个文件
4,如果输入Q或者q,表示想退出程序
期间得到很到热心的Q友的帮助,下面贴出代码和注释,大家感兴趣可以看下,有好多地方可以修改的地方,如果有不对的地方,希望大家提出宝贵意见
- #!/usr/bin/env python
- import os
- import string
- print ("This notepad write by python 2.6")
- print ("Editor: Iding")
- print ("Version:0.0.1")
- ##这是判断取得昵称的函数,有判断在里面,判断输入昵称的长度
- def input_nick():
- while True:
- nick=raw_input("please input your nick:")
- if len(nick)<3:
- print ("your nick too short ,please again!")
- elif len(nick)>15:
- print ("your nick too long ,please again!")
- else:
- print ("Your nick is %s" % nick)
- return nick
- break
- ##这是判断取得手机号码的函数,有判断在里面,判断输入号码的长度和类型
- def input_mob_number():
- while True:
- mob_number=raw_input("please input your mob_number:")
- if len(mob_number) !=11 : #长度必须是11位
- print ("Your mob_number's length is wrong ,please again!")
- elif mob_number.isdigit() and len(mob_number)==11 :
- #长度必须是11位且必须都是数字
- print ("Your mob_number is %s" % mob_number)
- return mob_number
- break
- else :
- print ("Your input has wrong charter,please again!")
- ##这是判断取得QQ号的函数,有判断在里面,判断输入昵称的长度和类型
- def input_qq():
- while True:
- qq=raw_input("please input your QQ_Number:")
- if len(qq) <6 :
- #号码长度必须大于6位
- print ("your number is too short!")
- elif qq.isdigit() and len(qq) <=12 :
- #号码必须都是数字且小于12位
- print ("Your qq number is: %s" % qq )
- return qq
- break
- else:
- print ("you input has wrong character!")
- while True:
- print ("#############This is a notepad programe writed by python!################")
- print ("#############please input your choice:R or W#############################")
- print ("#############if you input r or R ,mean you want to read notepad##########")
- print ("#############if you input w or W mean you want to write to notepad#######")
- print ("#############if you input q or Q mean your want to quit #################")
- print ("")
- print ("")
- print ("")
- input=raw_input("please input your choice:")
- if input.startswith('r') or input.startswith('R'):
- print ("")
- print ("you want to read file")
- print ("")
- print ("")
- f = open('notepad.txt') #打开文件
- totallines=len(f.readlines()) #得到文件总的行数
- print ("This notepad has %s records" % totallines ) #说明共有几行内容
- f.close() #关闭文件,
- f1=open("notepad.txt") #这里又要打开文件,这里比较纠结,应该有更好的方法
- for line_number in range(1,totallines+1):
- content=f1.readline()
- print "NO. "+ str(line_number)+" : "+ content
- #打印文件内容
- f1.close()
- break
- elif input.startswith('w') or input.startswith('W'):
- print ("you want to write file")
- nick=input_nick() #得到昵称
- mob_number=input_mob_number() #得到号码
- qq=input_qq()
- notepad=file("notepad.txt","a") #追加方式打开文件
- print >>notepad,nick,mob_number,qq #把内容写入文件
- notepad.close()
- elif input.startswith('q') or input.startswith('Q'):
- print ("you want to exit programe")
- break
- else:
- print ("your input has wrong character,please again!")
上面的代码是比较粗糙的,有好多地方需要修改,尤其是对文件的操作,不是很清楚,以至于要2次打开和关闭文件,希望有人可以告诉我如何修改,只要一次打开i文件就可以完成操作,这个程序没有涉及到吧数据写入数据库,下次准备改下,把内容写入到数据库中。。。
由于python对源代码的格式缩进有严格的要求,所有大家写的时候要注意,我把源代码也传了上来,如果感谢去,可以看看。。。。
转载于:https://blog.51cto.com/world77/485945
python学习之记事本相关推荐
- Python学习笔记:常用内建模块2:collections
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python学习--关注容易被忽略的知识点---(一)python基础
本系列文章回顾了 python大部分关键的知识点,关注那些容易被忽略的知识点.适用于有一定python基础的python学习者. 本系列文章主要参考廖雪峰的python学习网站.该学习网站内容全面,通 ...
- 【Python学习笔记】超详细Python快速入门教程(下)
文章目录 031 变量的作用域 032 递归函数 033 异常处理机制 034 class自定义类 035 object内置类 036 多态 037 特殊方法和属性 038 类的深拷贝和浅拷贝 039 ...
- python学习第一课
python学习第一课 课前回顾 1.请求类型: 2.传参类型: 3.postman断言.参数化.多接口参数依赖 接口文档 这个接口是做什么的?URL请求类型参数--> 如何传递参数params ...
- 【Python小案例教程1】Python开发简单记事本
####前言: 本文是使用Python,结合Tkinter开发简单记事本. ####基本环境配置: Python版本:2.7 编辑器:pycharm ####实现效果: ####主要思路: 我们可以看 ...
- 转载 Python 学习-Matplotlib库
Python学习-Matplotib 载出处:https://blog.csdn.net/weixin_60535956/article/details/128311973 目录 Matplotlib ...
- Python学习笔记:第十五站 大宝藏
Python学习笔记 文章目录 Python学习笔记 第十五站 大宝藏 1. 编码格式介绍 2. 文件的读写原理 3. 文件读写操作 4. 文件对象常用的方法 5. with语句(上下文管理器) 6. ...
- pygame是python的一个库吗,python学习pygame,,基本库导入impor
python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...
- python科学计数法转换_对比Python学习Go 基本数据结构
公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...
- 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 ...
最新文章
- XCode 7上传遇到ERROR ITMS-90535 Unexpected
- JDK 14的新特性:switch表达式
- vue中 mock使用教程
- 【Linux】crontab 定时启动sh
- 成外集训小记(更新到7.31)
- 成都将于1月27日开启数字人民币红包活动
- ViewPager——基础知识和PagerAdapter必须重写的四个方法
- 注解 java 原理_Java注解基本原理
- C++并发与多线程(一)线程传参
- linux 设置时间
- Ubuntu 20.04 锐捷客户端安装记录
- 学习Java有哪些值得推荐的Java书籍?
- JavaScript - 360浏览器默认使用极速模式打开网页
- yigo基础学习笔记3_数据映射_上引下推
- 暑假D16 T3 密道(数位DP? 打表找规律)
- PAT1023 组个最小数给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小例如:给定两个0两个1三个5一个8得到的数字就是10015558
- 老虎的屁股摸不得,宝宝的屁屁一样碰不得!
- 条件概率、全概率、先验概率、后验概率
- 这些曾经世界第一的手游,现在全都凉了
- 傅里叶变换中,圆频率w与频率f之间的公式转化
热门文章
- arcgis 画图问题
- 李宏毅机器学习homework0
- matlab-读取文件
- python 删除满足条件的行
- java SimpleDateFormat类浅析
- Flink Weekly | 每周社区动态更新 - 20200107
- android可以root的版本,Android8.0以上系统ROOT时,Magisk框架替代SpuerSU
- 存在out参数的webservices_Sentaurus Device材料参数的那些事
- C语言substr函数用法,自己实现substr函数——C语言
- 计算机领域男的多大年龄退休,2022年后男性几岁退休 2022退休时间表