2020是一个不平凡的一年,但即使挫折不断,我们每学期的课程实训也没有受到影响,仍旧如期实施。与往年不同的是,今年的实训老师是学校邀请的公司在职人员来给我们实训。今年实训的内容是Python语言,下面就是实训老师在讲授中让我们练习的一个人机交互的小项目,名字管理系统,这里主要是用到了列表,我写了两个版本,一个没有用到函数,另一个使用了函数。这些都非常适合刚开始学习Python的各位练手哦!

1、不使用函数:这种比较简单,但也存在缺陷,代码繁琐且没有用文件保存增加名字的信息,以至于每次运行,上次添加的名字都没有了(当然也可以添加哦,下面使用函数的版本解决了这些问题)

`print(""30)

print("\t名字管理系统")

print("
1.增加一个姓名")

print("2.删除一个姓名")

print("
3.修改一个姓名")

print("4.查找一个姓名")

print("
5.显示所有信息")

print("6.退出系统")

print("
"*30)

names=[]

while 1:

#2.获取用户的选择

num=(input("请输入你的选择:"))

#3.根据用户的选择,执行相应的功能

if num'1':

add_name=input("请输入你要增加的姓名:")

names.append(add_name)

elif num'2':

del_name=input("请输入你要删除的姓名:")

if del_name not in names:

print("查无此人!")

else:

names.remove(del_name)

print("名字删除成功!")

elif num'3':

change_name=input("请输入你要修改的姓名:")

if change_name not in names:

print("查无此人!")

else:

for x in range(len(names)):

if names[x]change_name:

new_name=input("请输入修改后的姓名:")

names[x]=new_name

break

elif num'4':

find_name=input("请输入你要查找的名字:")

if find_name in names:

print("系统中有这个名字哦!")

else:

print("查无此人!")

elif num'5':

print("系统内所有的名字有:%s"%names)

elif num=='6':

break

else:

print("输入格式错误,请重新输入!")2、使用函数:比较完美的一个小型的名字管理系统def w(count):

f=open("1.txt","w")

f.write(count)

f.close()

def r():

f=open("1.txt","r")

s=f.read()

f.close()

return s

def interface():

print(""30)

print("\t名字管理系统")

print("
1.增加一个姓名")

print("2.删除一个姓名")

print("
3.修改一个姓名")

print("4.查找一个姓名")

print("
5.显示所有信息")

print("6.退出系统")

print("
"*30)

if r=='':

names=[]

else:

names=eval(r())

def add_name():

add_name=input("请输入你要增加的姓名:")

names.append(add_name)

def del_name():

del_name=input("请输入你要删除的姓名:")

if del_name not in names:

print("查无此人!")

else:

names.remove(del_name)

print("名字删除成功!")

def change_name():

change_name=input("请输入你要修改的姓名:")

if change_name not in names:

print("查无此人!")

else:

for x in range(len(names)):

if names[x]==change_name:

new_name=input("请输入修改后的姓名:")

names[x]=new_name

break

def find_name():

find_name=input("请输入你要查找的名字:")

if find_name in names:

print("系统中有这个名字哦!")

else:

print("查无此人!")

def display_name():

print("系统内所有的名字有:%s"%names)

def main():

interface()

while True:

num=input("请输入你的选择:")

if num == "1":

add_name()

elif num == "2":

del_name()

elif num == "3":

change_name()

elif num == "4":

find_name()

elif num == "5":

display_name()

elif num == "6":

break

else:

print("输入格式错误,请重新输入!")

main()

`

学习笔记之Python人机交互小项目一:名字管理系统的更多相关文章

  1. 学习笔记之Python人机交互小项目二:名片管理系统

    继上次利用列表相关知识做了简单的人机交互的小项目名字管理系统后,当学习到字典时,老师又让我们结合列表和字典的知识,结合一起做一个名片管理系统,这里分享给在学习Python的伙伴! 1.不使用函数 1 ...

  2. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  3. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

  4. 【学习笔记】Python 3.6模拟输入并爬取百度前10页密切相关链接

    [学习笔记]Python 3.6模拟输入并爬取百度前10页密切相关链接 问题描述 通过模拟网页,实现百度搜索关键词,然后获得网页中链接的文本,与准备的文本进行比较,如果有相似之处则代表相关链接. me ...

  5. Noah的学习笔记之Python篇:命令行解析

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  6. Noah的学习笔记之Python篇:函数“可变长参数”

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  7. Noah的学习笔记之Python篇:装饰器

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  8. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  9. 学习笔记之Python 3

    学习笔记之Python 3 教程 https://www.cnblogs.com/pegasus923/p/7624416.html 学习笔记之X分钟速成Python3 https://www.cnb ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:Qt Designer中图像资源的使用及资源文件的管理

    一.概述 在Qt Designer中要使用图片资源有三种方法:通过图像文件指定.通过资源文件指定.通过theme主题方式指定,对应的设置界面在需要指定图像的属性栏如windowIcon中通过点击属性设 ...

  2. 在浏览器中输入URL后,执行的全部过程。会用到哪些协议?(一次完整的HTTP请求过程)

    在浏览器中输入URL后,执行的全部过程.会用到哪些协议?(一次完整的HTTP请求过程) 整个流程如下: 域名解析 为了将消息从你的PC上传到服务器上,需要用到IP协议.ARP协议和OSPF协议. 发起 ...

  3. 团队作业part6--复审与事后分析

    一.Alpha阶段项目复审:https://www.cnblogs.com/3Jax/p/13127401.html 二.事后诸葛亮分析:https://www.cnblogs.com/3Jax/p/ ...

  4. 将Java项目打包成exe文件

    第一步:参照我之前的博客:利用IDEA把项目打包成jar包第二步:下载安装exe4j软件第三步:新建文件夹,把jre,exe文件的图标,本项目的jar包以及项目用到的jar包都放到同一目录下[很重要] ...

  5. 开发实践丨用小熊派STM32开发板模拟自动售货机

    摘要:本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代码,通过云端开发和设备终端开发,实现终端数据在的华为云平台显示. 本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代 ...

  6. mac系统下用ssh方式连接git仓库

    1.应用程序-终端,键入命令  ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  ,后面是你的邮箱地址.一直回车,生成密钥. 2.键入  open ~ ...

  7. 03-flask-视图函数基础

    代码 from flask import Flask, request, url_for, jsonify, redirect # 创建Flask对象 app = Flask(__name__) @a ...

  8. react第X单元(redux)

    第X单元(redux) #课程目标 理解redux解决的问题,理解redux的工作原理 熟练掌握redux的api 熟练掌握redux和react组件之间的通信(react-redux) 把redux ...

  9. react第十九单元(react+react-router-dom+redux综合案例1)

    第十九单元(react+react-router-dom+redux综合案例1) #课程目标 复习 综合练习 实战能力 #知识点 react react-router redux #授课思路 #案例和 ...

  10. [日常摸鱼]luogu1613跑路

    新年A的第一道题2333 https://www.luogu.org/problemnew/show/P1613 题意:给一张有向图,每条边长为1,每个单位时间只能走$2^k$的长度,$k$可以任意选 ...