Test@python关于列表及字典的应用_(1)
2018-01-04 16:41
676 查看
一、列表
1.用户登录程序版本• 用户名和密码分别保存在列表中;
• 用户登录时,判断该用户是否注册;
• 用户登录时,为防止黑客暴力破解, 仅有三次机会;
• 如果登录成功,显示登录成功(exit(), break).
知识点学习:
python中特有的while….else…语句
如果满足while后面的语句,执行while循环的程序, 如果不满足,执行else里面的程序.
提示: 用户名和密码一一对应
users = [“user1”, “user2”, “user3”]
passwords = [“123”, “456”, “789”]
#!/usr/bin/env python #coding:utf-8 users = ['user1','user2','user3'] passwords = ['123','456','789'] trycount = 0 while trycount < 3: iuser = raw_input('请输入用户名:') if iuser not in users: print '该用户名未注册!!' break else: ipasswd = raw_input('请输入密码:') n = users.index(iuser) if ipasswd == passwords : print '密码正确,登陆成功!!!' break else: print '密码错误,登录失败!!!' trycount += 1 continue else: print '密码错误超过三次,登录失败!!'
2. 列表构建栈
• 栈是先进后出(LIFO-first in last out);
• 类似于往箱子里面放书;
代码实现如下: (实际应用中这样太麻烦,之后的总结中会用类实现)
#!/usr/bin/env python #coding:utf-8 stack = [] info = ''' 栈操作 1)入栈 2)出栈 3)栈长度 4)查看栈 5)退出 请输入你的选择:''' while 1: choice = raw_input(info).strip() if choice == '1': print '入栈操作'.center(40,'*') value = raw_input('请输入入栈元素:') stack.append(value) print '元素 %s 入栈成功...'%(value) elif choice == '2': print '出栈操作'.center(40,'*') if len(stack) == 0: print '栈为空' else: item = stack.pop() print '元素 %s 出栈成功...'%(item) elif choice == '3': print '查看栈长度'.center(40,'*') print len(stack) elif choice == '4': print '查看栈内容'.center(40,'*') print stack elif choice == '5': print '您已退出' break else: print '请输入正确选择!!!'
3. 队列
• 队列是先进先出(FIFO):
• 类似于去餐厅买饭排队;
#!/usr/bin/env python #coding:utf-8 stack = [] info = """ 队列操作 1)入队 2)出队 3)查看队列 4)退出 请输入您的选择:""" while 1: choice = raw_input(info).strip() if choice == '1': print '入队操作'.center(40,'*') value = raw_input('请输入入队元素:') stack.append(value) print '元素 %s 入队成功'%(value) elif choice == '2': print '出队操作'.center(40,'*') if len(stack) == 0: print '队列为空' else: item = stack.pop(0) print '元素 %s 出队成功'%(value) elif choice == '3': print '查看队列'.center(40,'*') print stack elif choice == '4': print '您已退出' break else: print '请输入正确选择!!!'
二、字典
1. 生成多个银行卡号卡号由 6 位组成, 前 3 位是 610 , 后面的依次是 001, 002, 003…100, 且初始化密码为”000000”
#!/usr/bin/env python #coding:utf-8 cardids = [] for i in range(1, 101): # i = 1, 2, 3, 4...100 a = "610%.3d" %(i) # a= 610001, 610002, 610003, ....610100 cardids.append(a) print {}.fromkeys(cardids, "000000")
2. 通过字典实现case语句
目前python不支持case语句,且实现case语句有如下两种方式:
• if…elif…elif…else…
• 字典实现
1) if语句实现
#!/usr/bin/env python #coding:utf-8 from __future__ import division num1 = input('请输入num1: ') ope = raw_input('请输入运算符: ') num2 = input('请输入num2: ') #case 语句 if ope == '+': print num1+num2 elif ope == '-': print num1-num2 elif ope == '*': print num1*num2 elif ope == '/': print num1/num2 else: print '您输入的运算符不合法!'
2) 字典实现
#!/usr/bin/env python #coding:utf-8 from __future__ import division num1 = input('请输入num1: ') ope = raw_input('请输入运算符: ') num2 = input('请输入num2: ') d = { '+' : num1+num2, '-' : num1-num2, '*' : num1*num2, '/' : num1/num2 } if not ope in d: print 'error operator' else: print d[ope]
3. 用户管理系统
1)注册新用户
如果注册用户已经存在,则报错;
需要填写信息: name, passwd, gender, email,age;
2)用户登录
为防止黑客攻击,只有三次登陆即会
3)注销用户 用户注销时,需要输入用户名和正确的用户密码
4)显示用户信息 显示系统中存在所有已经注册用户的信息;
5)退出系统
下接~
相关文章推荐
- Test@python关于列表及字典的应用_(2)
- Python 关于拷贝(copy)汇总(列表拷贝 // 字典拷贝 // 自定义对象拷贝)
- Python中列表和字典在测试中的应用
- 关于字典与列表的学习2(三级菜单的应用)(week2)
- python3 列表生成式,字典生成式,generator列表生成器的应用
- 关于python语句与列表,元组,字典等集合的题
- python关于列表转为字典的两个小方法
- python关于列表转为字典的两个小方法
- python关于列表转为字典的两个小方法
- Python 语言及其应用 Chapter_3_Note_2 容器_列表_元组_字典_集合
- 关于Python元祖,列表,字典,集合的比较
- python3 列表 元组 字典的介绍及其应用
- Python 字典和列表的对比应用
- Python 元组 列表 字典的介绍及应用
- Xman整理篇___关于Python的基础内容(列表、元组与字典)
- 《Dive Into Python》笔记:关于字典和列表
- leetcode-1:python基础,循环、条件、列表、字典的应用,enumerate、range函数以及2.0和3.0print的区别
- 转载一篇优秀的关于python的字典的文章
- Python基础之文件读写和列表字典使用 ——《侠客行》文本分析
- Python字典按值排序、包含字典的列表按字典值排序的方法