python第三周测试_python第三周小测
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第三周小测相关推荐
- python第三周测试_第三周作业 - 作业 - 信息与计算17数31SWE - 班级博客 - 博客园...
格式要求 请大家在作业开头添加格式描述,仿照如下 这个作业要求在哪里 我在这个课程的目标是 此作业在哪个具体方面帮我实现目标 其他参考文献 作业正文 博客作业可以给出链接 正文 ........... ...
- python第三周笔记_Python第三周 学习笔记(1)
key-value键值对的数据的集合 可变的.无序的.key不重复 初始化: d = dict() d = {} d = dict(**kwargs) 如:d = dict(a=1,b=2) dict ...
- python假设有三个列表_python基础三(列表和元组)
1.序列概述: ?python内置了许多种序列,列表.元组.字符串等. ?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形. ...
- python求三个数平均值_python求三个数平均值
本文收集整理关于python求三个数平均值的相关议题,使用内容导航快速到达. 内容导航: Q1:利用python3.x计算任意数据平均值 l=[1,2,3]def ave(a):print(sum(a ...
- python三引号注释_Python注释————三引号分析
一. 几种注释简介 ①中文注释:#coding=utf-8 注意,在文件开头声明中文注释,如果不声明则默认使用ASKII码保存文件 ②单行注释:#print("这是单行注释") ③ ...
- python三引号注释_python使用三引号来注释的具体原因?
Why didn't python just use the traditional style of comments like C/C++/Java uses: /** * Comment lin ...
- python怎么筛选excel数据_Python操作三个excel并过滤数据,python,筛选,其中
# -*- coding: UTF-8 -*- import os import xlrd import xlwt import xlwings as xw root_dir = os.path.ab ...
- python爬虫豆瓣评论论文_Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析...
Date的那一大堆事儿--1 String perfTimeStr = "";// 统一设置日历格式 Calendar calendar = Calendar.getInstanc ...
- python底层网络交互模块_Python 利用三个简易模块熟悉前后端交互流程
Toggle navigation INDEX Submit LOGIN REGISTER Example page header Subtext for header Cras justo odio ...
最新文章
- 大白话聊聊 Kafka 的架构原理和网络设计,它的性能高在什么地方?
- PLM和PDM相互关系
- Mysql定期自动备份
- UA OPTI512R 傅立叶光学导论17 离散傅立叶变换简介
- Linux shell文件测试运算符
- TypeScript 的 generic 函数
- 709. 转换成小写字母
- linux大内存拷贝优化,Linux 下基础设施及系统网络优化
- 服务器证书在注册表上位置,服务器ssl证书注册表
- 桦仔 笔记3-徐 设置数据库自动增长注意要点
- 使用JSSDK分享页面
- 正则表达式 中括号与加号
- mysql拆分盘数据库_数据库拆分
- linux 对文件类型的判断
- c语言qsort函数对结构体的一级排序,sort和qsort函数对结构体的二级排序
- ATmega328p使用硬件SPI与模拟SPI驱动74HC595,protues仿真
- 一些内网穿透的软件一览表
- 求一个数的平方c语言函数实现,C++中数的平方是什么函数?
- 栈——后进先出的增删改查
- Linux接蓝牙音响无声音,win10蓝牙音箱没有声音怎么办_win10蓝牙音响连接成功没声音处理方法...
热门文章
- 全国计算机等级考试题库二级C操作题100套(第74套)
- 基于Wemos的智能感应开盖垃圾桶——日记
- 云计算呼叫中心_SaaS云呼叫中心系统只用于销售或客服?
- linux驱动开发---并发控制
- mysql 取左_MySQL select语句从字符串左侧获取5个字符
- android抽奖动画,Android App中实现简单的刮刮卡抽奖效果的实例详解
- Java技术:Spring Boot 配置文件敏感信息加密
- 程序人生:一个员工的离职成本到底有多高,看完你就懂了!
- 数据库:MySQL中,当update修改数据与原数据相同时会再次执行吗?
- 开发中常用的一些神器推荐