文件操作练习题和名片管理系统的搭建 2020/1/20

练习:

统计文件代码行数,不包括注释行.

"""
统计文件夹所有文件的代码
      1.统计单个文件的代码!
      打开文件
      有#的不统计
      遇到多行注释不统计
"""
#定义统计行数函数
def Iris_Code_Counter(file):
      lines=0
      #以读的方式打开文件
      f=open(file,'r',encoding='utf-8')
      f.seek(0)
      content=f.readline()
      #做一个开关
      add = True
      str=' """ '
      while content !="" :
           content=f.readline()
           #开关,当遇到"""时,就把add置为false,下次再遇到"""则置为true
           if   str in content :
                 add = not add
            #当add为false,行数不计算,当add为true则计算行数.
            #如果遇到'#则行数不+1,.
           if add :
                  if '#' not in content :
                        lines +=1
           
      f.close()
      #再做循环之前,已经读了一次文件,所以光标位置到了下一行,再循环中开始的行数是第二行,所以把第一行加上
      lines +=1
      return lines
      
print(Iris_Code_Counter('判断是否为水仙花数.py'))

	

输出结果:
29

名片管理系统

功能:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应完成以上功能
创建俩个文件,第一个主文件cards_main主要用来搭建框架,第二个文件cards_tool,主要用来实现各部分功能,通过主文件的调用,来完成此次实验.

cards_main文件代码:

#导入cards_tool文件
import  cards_tool
while True:
      #显示菜单
      cards_tool.show_menu()
      action=input("请您输入要选择的功能")
      print("您选择的功能是{0}".format(action))
      #判断用户所选择的功能
      if action in ['1','2','3']:
            #新建名片功能
            if action == '1':
                  list1=cards_tool.new_card()
                  
            #显示全部名片信息
            elif action =='2':
                  cards_tool.show_all()
            #查询名片
                  
            else :
                  cards_tool.search_name()
      #退出功能
      elif action =='0' :
            
            print("感谢您使用本名片管理系统,欢迎下次您的使用!")
            break 

      #如果用户输入功能之外的数字,所执行的功能
      else:
            print("您输入的有误,请您重新输入")

cards_tool文件代码:

#存放数据的列表
list1=[{'姓名':'张三','手机号':'1223','公司名称':'数据'}]
#菜单功能
def show_menu():
      print('*'*50)
      print("欢迎使用【名片管理系统】 v1.0\n")
      print("1. 新建名片\n2. 显示全部\n3. 查询名片\n\n0. 退出系统")
      print('*'*50)


#新建名片功能
def new_card():
      name=input("请输入姓名:")
      num=input("请输入手机号:")
      address=input("请输入公司名称:")
      #将用户输入的信息,以字典的形式进行保存
      dic1={'姓名':name,'手机号':num,'公司名称':address}
      
      global list1
      #将信息保存到列表中
      list1.append(dic1)
      #提示信息
      print("恭喜您添加成功")
      #return list1
#显示全部名片信息功能
def show_all():
      #显示所有信息
      for i in range(len(list1)):
            print(list1[i])
#查询名片功能
def search_name():
      name=input('请输入要查询的名字:')
      t=0
      for i in range(len(list1)):
            #判断用户所要查找的是否在列表中
            if name in list1[i]['姓名']:
                  t +=1
                  print(list1[i])
                  print("1.修改\n2.删除\n3. 退出")
                  action=input('请输入您要操作的步骤')
                  if action == '1':
                        name=input("请输入修改后的姓名,如果不修改请按回车")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值