1.读取一个文件,显示除了井号(#)开头的行意外的所有行

# -*- coding: utf-8 -*-

"""

Created on Tue May 28 09:37:08 2019

@author: Omega_Sendoh

"""

#打开文件

f = open("install-sh","r")

#读取文件的所有行,以列表形式存储,每行为列表中的一个字符串元素

res = f.readlines()

#循环整个列表,去除以空格开头的行的空格,然后去除以#号开头的行的#号

for i in res:

if i[0] == "#":

continue

else:

print(i)

2.无重复字符的最长子串

# -*- coding: utf-8 -*-

"""

Created on Tue May 28 10:57:55 2019

@author: Omega_Sendoh

"""

"""

定义一个空的字符串,从起始位置开始搜索输入的字符串,如果字符没有出现在wind中,则把字符加入wind

如果字符出现在wind中,则找到字符串中出现该相同字符的位置,删除该重复字符之前的所有字符

并重新加入该字符

"""

def LongestString(s):

wind = ''

l=0

for i in s:

if i not in wind:

wind +=i

l=max(l,len(wind))

else:

wind = wind[wind.index(i)+1:] + i

return l

s=input('enter string:')

print(LongestString(s))

3.制作一个密码簿,其可以存储一个网址,和一个密码,请编写程序完成这个密码簿的增删改查功能,并且实现文件存储功能。

import json

def add_info():

#打开存储文件,判断文件中是否有内容

with open('usr.json','a+') as f:

info = f.read()

#如果没有内容,创建一个字典,以字典的方式存储网址与密码

if not info:

with open('usr.json','a+') as f:

full_info = {}

net_add = input('enter your URL:')

passwd = input('enter your password:')

full_info[net_add] = passwd

print('add success')

json.dump(full_info,f)

#若文件中有内容,则把文件中的内容转换为python的字典类型

else:

with open('usr.json','r') as f :

full_info = json.load(f)

#print((full_info))

net_add = input('enter your URL:')

passwd = input('enter your password:')

full_info.setdefault(net_add,passwd)

print('add success')

#给字典中添加对象,再次写入文件中(即添加新的信息后重新更新文件的内容)

with open('usr.json','w') as f :

json.dump(full_info,f)

def del_info():

with open('usr.json','r') as f:

full_info = json.load(f)

#输入想要删除的网址

net_add = input('enter your delete URL:')

#如果该网址存在,则删除网址与密码,把更改后的数据存到文件中

if net_add in full_info:

del full_info[net_add]

print('delete success')

with open('usr.json','w') as f:

json.dump(full_info,f)

#若该网址不存在,提示网址不存在

else:

print('This URL not exist')

def change_info():

with open('usr.json','r') as f:

full_info = json.load(f)

#输入要更改的网址与密码

net_add = input('enter your change URL:')

passwd = input('enter your new password:')

if net_add in full_info:

full_info[net_add] = passwd

print('change password succcess')

with open('usr.json','w') as f:

json.dump(full_info,f)

else:

print('This URL not exist')

def check_info():

with open('usr.json','r') as f:

full_info = json.load(f)

net_add = input('enter your check URL:')

if net_add in full_info:

print('This URL password is:',full_info[net_add])

else:

print('This URL not exist')

print('you can choose: add/del/change/check/quit')

while 1:

obj = input('enter your choose:')

if obj == 'add':

add_info()

elif obj == 'del':

del_info()

elif obj == 'change':

change_info()

elif obj == 'check':

check_info()

else:

break

运行结果:

python第三周测试_python第三周小测相关推荐

  1. python第三周测试_第三周作业 - 作业 - 信息与计算17数31SWE - 班级博客 - 博客园...

    格式要求 请大家在作业开头添加格式描述,仿照如下 这个作业要求在哪里 我在这个课程的目标是 此作业在哪个具体方面帮我实现目标 其他参考文献 作业正文 博客作业可以给出链接 正文 ........... ...

  2. python第三周笔记_Python第三周 学习笔记(1)

    key-value键值对的数据的集合 可变的.无序的.key不重复 初始化: d = dict() d = {} d = dict(**kwargs) 如:d = dict(a=1,b=2) dict ...

  3. python假设有三个列表_python基础三(列表和元组)

    1.序列概述: ?python内置了许多种序列,列表.元组.字符串等. ?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形. ...

  4. python求三个数平均值_python求三个数平均值

    本文收集整理关于python求三个数平均值的相关议题,使用内容导航快速到达. 内容导航: Q1:利用python3.x计算任意数据平均值 l=[1,2,3]def ave(a):print(sum(a ...

  5. python三引号注释_Python注释————三引号分析

    一. 几种注释简介 ①中文注释:#coding=utf-8 注意,在文件开头声明中文注释,如果不声明则默认使用ASKII码保存文件 ②单行注释:#print("这是单行注释") ③ ...

  6. python三引号注释_python使用三引号来注释的具体原因?

    Why didn't python just use the traditional style of comments like C/C++/Java uses: /** * Comment lin ...

  7. python怎么筛选excel数据_Python操作三个excel并过滤数据,python,筛选,其中

    # -*- coding: UTF-8 -*- import os import xlrd import xlwt import xlwings as xw root_dir = os.path.ab ...

  8. python爬虫豆瓣评论论文_Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析...

    Date的那一大堆事儿--1 String perfTimeStr = "";// 统一设置日历格式 Calendar calendar = Calendar.getInstanc ...

  9. python底层网络交互模块_Python 利用三个简易模块熟悉前后端交互流程

    Toggle navigation INDEX Submit LOGIN REGISTER Example page header Subtext for header Cras justo odio ...

最新文章

  1. 大白话聊聊 Kafka 的架构原理和网络设计,它的性能高在什么地方?
  2. PLM和PDM相互关系
  3. Mysql定期自动备份
  4. UA OPTI512R 傅立叶光学导论17 离散傅立叶变换简介
  5. Linux shell文件测试运算符
  6. TypeScript 的 generic 函数
  7. 709. 转换成小写字母
  8. linux大内存拷贝优化,Linux 下基础设施及系统网络优化
  9. 服务器证书在注册表上位置,服务器ssl证书注册表
  10. 桦仔 笔记3-徐 设置数据库自动增长注意要点
  11. 使用JSSDK分享页面
  12. 正则表达式 中括号与加号
  13. mysql拆分盘数据库_数据库拆分
  14. linux 对文件类型的判断
  15. c语言qsort函数对结构体的一级排序,sort和qsort函数对结构体的二级排序
  16. ATmega328p使用硬件SPI与模拟SPI驱动74HC595,protues仿真
  17. 一些内网穿透的软件一览表
  18. 求一个数的平方c语言函数实现,C++中数的平方是什么函数?
  19. 栈——后进先出的增删改查
  20. Linux接蓝牙音响无声音,win10蓝牙音箱没有声音怎么办_win10蓝牙音响连接成功没声音处理方法...

热门文章

  1. 全国计算机等级考试题库二级C操作题100套(第74套)
  2. 基于Wemos的智能感应开盖垃圾桶——日记
  3. 云计算呼叫中心_SaaS云呼叫中心系统只用于销售或客服?
  4. linux驱动开发---并发控制
  5. mysql 取左_MySQL select语句从字符串左侧获取5个字符
  6. android抽奖动画,Android App中实现简单的刮刮卡抽奖效果的实例详解
  7. Java技术:Spring Boot 配置文件敏感信息加密
  8. 程序人生:一个员工的离职成本到底有多高,看完你就懂了!
  9. 数据库:MySQL中,当update修改数据与原数据相同时会再次执行吗?
  10. 开发中常用的一些神器推荐