V1.5.4网址注册记录本
2019-06-30 本文已影响55人
大白python
网址注册记录本
学完数据结构与内存管理,现用此知识重写:网址注册记录本。
编程方式:流程式
步骤分为:
一、确定程序循环框架
二、细分功能点,单独编写与测试
三、组合程序
一.程序循环框架
1、程序界面,现用打印方式来作程序界
# -*- conding:utf-8 -*-
'''
#版本:python 3.7
#日期:2019-06-29
@author: 大白python
'''
#程序用到的库
import os
#打印的屏幕作程序界面
print("-" * 10 + "网站注册信息记录本 V1."+ "-"* 10)
print("="* 42)
print(
"""
---功能:
1. 输入网址,用户名,用户密码
2. 保存用户名,密码到文件:code.txt
3. 查找网址,显示用户名与密码
请选择:
-----------------------------------------
新录入按:N
查找请按:S
退出: e
-----------------------------------------
"""
)
打印出结果:
----------网站注册信息记录本 V1.----------
==========================================
---功能:
1. 输入网址,用户名,用户密码
2. 保存用户名,密码到文件:code.txt
3. 查找网址,显示用户名与密码
请选择:
-----------------------------------------
新录入按:N
查找请按:S
退出: e
-----------------------------------------
2、程序主体循环
运行程序后,每次都会询问用户要做什么。
#此部份代码为程序框架,循环语句来让客人重复选择功能
import os
#获取客户输入
user_input = input("请选择")
#程序进入循环,执行客户选择的功能
while user_input != "e":
if user_input == "n":
print("你要新录入网址注册信息")
#录入功能代码----------
print(
"""
---请选择:
-----------------------------------------
新录入按:N
查找请按:S
退出: e
-----------------------------------------
"""
)
user_input = input()
elif user_input == "s":
site_name = input("请输入网站名:"
#查询代码--------
#查询完后,重新让
print(
"""
---请选择:
-----------------------------------------
新录入按:N
查找请按:S
退出: e
-----------------------------------------
"""
)
user_input = input()
else:
print(
"""
---请选择:
-----------------------------------------
新录入
按:N
查找请按:S
退出: e
-----------------------------------------
"""
)
user_input = input()
二、细分功能点
1、新站信息录入
#正常来说,不管是新录入还是查询,都需要开始前打开文件 code.txt
#新录入的代码:
with open("code.txt", "a+") as add_site:
#存储一个网站的注册信息
website_info = {
"web_name":"",
"url":"",
"user_name":"",
"user_code":""
}
#录入内容
website_info["web_name"]= input("请输入网站名:")
website_info["url"]= input("请输入网址:")
website_info["user_name"]= input("请输入网站注册名称:")
website_info["user_code"]= input("请输入网站注册密码:")
#写入文件
#文件只能写入字符串,需字典转为字符串后写入,加上"\n"后,会换行输入
add_site.write(str(website_info) + "\n")
2、查询网站信息:
#查询
import os
#正常来说,不管是新录入还是查询,都需要开始前打开文件code.txtabs
#以只读方式打开,作查询
user_find = input("输入查询网站名")
#读取所有网站信息,内容是字符串,
with open("code.txt", "r")as find_site:
web = find_site.read()
#用分拆法转为列表
web_site = web.split("\n")
#读取的内容转为列表后,每个元素还是字符串,需将字符串转字典
web_site_new = []
for x in range(len(web_site)-1):
web_site_new.append(eval(web_site[x]))
#查询网站信息
x = 0
while x < len(web_site_new):
if web_site_new[x]["web_name"] == user_find:
print(
"网站名称:" + web_site_new[x]["web_name"] + "\n",
"网站网址:" + web_site_new[x]["url"] + "\n",
"用户名称:" + web_site_new[x]["web_name"] + "\n",
"用户密码:" + web_site_new[x]["web_name"] + "\n"
)
break
else:
x = x+1
#当x到达最后一个序号后
if x == len(web_site_new):
print(user_find + "网站没有注册过。")
break
三、 组合程序
# -*- conding:utf-8 -*-
'''
#版本:python 3.7
#日期:2019-06-29
@author: 大白python
'''
import os
#打印的屏幕作程序界面
print("-" * 10 + "网站注册信息记录本 V1.1"+ "-"* 10)
print("="* 42)
print(
"""
---功能:
1. 输入网址,用户名,用户密码
2. 保存用户名,密码到文件:code.txt
3. 查找网址,显示用户名与密码
请选择:
-----------------------------------------
新录入按:N
查找请按:S
退出: e
-----------------------------------------
"""
)
#获取客户输入
user_input = input("请选择")
#程序进入循环,执行客户选择的功能
while user_input != "e":
if user_input == "n":
print("你要新录入网址注册信息")
#正常来说,不管是新录入还是查询,都需要开始前打开文件code.txt
#新录入的代码:
with open("code.txt", "a+") as add_site:
#存储一个网站的注册信息
website_info = {
"web_name":"",
"url":"",
"user_name":"",
"user_code":""
}
#录入内容
website_info["web_name"]= input("请输入网站名:")
website_info["url"]= input("请输入网址:")
website_info["user_name"]= input("请输入网站注册名称:")
website_info["user_code"]= input("请输入网站注册密码:")
#写入文件
add_site.write(str(website_info) + "\n") #文件只能写入字符串,需字典转为
#录完后,重新检测客户操作需求
user_input = input("请选择:新录入按n,查找请按:s,退出请按:e")
elif user_input == "s":
#正常来说,不管是新录入还是查询,都需要开始前打开文件code.txtabs
#以只读方式打开,作查询
user_find = input("输入查询网站名:")
#读取所有网站信息,内容是字符串,
with open("code.txt", "r")as find_site:
web = find_site.read()
#用分拆法转为列表
web_site = web.split("\n")
#读取的内容转为列表后,每个元素还是字符串,需将字符串转字典
web_site_new = []
for x in range(len(web_site)-1):
web_site_new.append(eval(web_site[x]))
#查询网站信息
x = 0
while x < len(web_site_new):
if web_site_new[x]["web_name"] == user_find:
print(
"网站名称:" + web_site_new[x]["web_name"] + "\n",
"网站网址:" + web_site_new[x]["url"] + "\n",
"用户名称:" + web_site_new[x]["web_name"] + "\n",
"用户密码:" + web_site_new[x]["web_name"] + "\n"
)
break
else:
x = x+1
#当x到达最后一个序号后
if x == len(web_site_new):
print(user_find + "网站没有注册过。")
#录完后,重新检测客户操作需求
user_input = input("请选择:新录入按n,查找请按:s,退出请按:e")
else:
user_input = input("请选择:新录入按n,查找请按:s,退出请按:e")
PS: 现还没有学过函数与对象,所以只用流程式来写;python是解释型编程语言,流程式也可说是重点的编程式。后续再学的函数式与对象式,也是在流程式基础上,将功能点以函数或对象的方式来表示,以便更加易用与维护。
现将功能点细分出来,后续可以不断添加功能,后续篇章再更新程序。
100分大神,80分大牛,60分大白,够用,能用,就好