python 练习之用户增删改(一)

共计 2331 个字符,预计需要花费 6 分钟才能阅读完成。

#encoding: utf-8

#练习

#用户数据库,管理员账号

users = [(0,'admin',20,12345)]

#提前存一些数据,便于模拟或者空 list 也可以

#users = [(0,'admin',20,12345),(1,'xiaoming',13,1373525235),(2,'wanger',27,6436347634734),(3,'zhangsan',47,1532552532)]

login_user = input('请输入管理员账号:')

login_passwd = input('请输入管理员密码:')

for user in users:

if user[1] == 'admin' and user[3] == 12345:

print('*** 登录成功 ***')




whileTrue:

opt = input('请输入操作 --- 添加用户 (add), 删除用户 (delete), 编辑用户 (edit), 查看用户 (list), 退出 (exit):')

## 添加用户

if opt == 'add':

#根据输入的字符串,使用 split,逗号分割成 list

users_txt = input('请输入(姓名,年龄,联系方式):')

nodes = users_txt.split(',')

iflen(nodes) == 3:

#判断输入元素是 3 个,就开始转换成元组,添加进 list

user_id = 0

#不断遍历找出 list 的中当前最大的 id,并赋值给 user_id

for a in users:

if user_id < a[0]:

user_id = a[0]

#比当前最大 id 的加 1,加上逗号使成为元组,加上 tuple 把 list 转换为元组,users.append((user_id + 1,) + tuple(nodes))

print('*** 用户:{0}, 添加成功!***'.format(nodes[0]))

else:

print('*** 输入错误!***')

## 删除用户

elif opt == 'delete' :

delete_id = int(input('请输入需要删除的用户 id:'))

existing_u = None

for delete_user in users:

if delete_user[0] == delete_id:

#如果有这个客户,就赋值给 existing_u

existing_u = delete_user

break

#如果不为 none 就删除,反之是 none 就没有这个客户

if existing_u:

users.remove(existing_u)

print('*** 用户:{0},已删除!***'.format(existing_u[1]))

else:

print('*** 没有这个用户!***')

## 编辑修改用户

elif opt == 'edit' :

edit_id = int(input('请输入需要修改编辑的用户 id:'))

exist_u = None

#用户当前索引

#index_u = -1

for edit_user in users:

if edit_id == edit_user[0]:

exist_u = edit_user

break

#r 如果用户存在

if exist_u:

#根据输入的字符串,使用 split,逗号分割成 list

users_txt = input('请输入(姓名,年龄,联系方式):')

nodes = users_txt.split(',')

iflen(nodes) == 3:

#直接赋值之前的 id

user_id = edit_id

#加上之前的 id,加上 tuple 把 list 转换为元组,users.append((user_id,) + tuple(nodes))

print('*** 修改前租户资料:{0}***'.format(exist_u))

#添加新用户后,删除旧的用户

users.remove(exist_u)

for user in users:

if edit_id == user[0]:

print('*** 修改后,新租户资料:{0}***'.format(user))

break

print('*** 用户:{0}, 修改成功!***'.format(nodes[0]))

else:

print('*** 输入错误!***')

else:

print('*** 用户不存在!***')

## 查看用户

elif opt == 'list':

#定义模版, 打印菜单栏

tpl_title = '|{0:^10s}|{1:^15s}|{2:^10s}|{3:^20s}|'

colums_title = ('ID','Name','Age','Tel')

title = tpl_title.format(colums_title[0],colums_title[1],colums_title[2],colums_title[3],)

#print(num = '|{0:^10s}|{1:^10s}|{2:^10s}|{3:^10s}|'.format('ID','Name','Age','Tel'))

#下划线,跟随 title 长度变化

splitline = '-'*len(title)

print(splitline)

#打印菜单栏

print(title)

#下划线

print(splitline)

#定义模版,中间客户信息模版

tpl_body = '|{0:^10}|{1:^15}|{2:^10}|{3:^20}|'

#遍历 list,把 list 里的信息按照模版打印

for i in users:

body = tpl_body.format(i[0],i[1],i[2],i[3])

print(body)

#下划线

print(splitline)

elif opt == 'exit':

break

else:

print('*** 请输入正确的命令!***')

break
正文完
 0
caoguojian
版权声明:本站原创文章,由 caoguojian 于2022-04-12发表,共计2331字。
转载说明:除特殊说明外本站文章皆由CGJ发布,转载请注明出处。
一言一句话
-「
评论(没有评论)