python练习
创建一个简单的姓名和编号系统,让用户输入一组人的姓名和编号,实现提供按照编号或姓名排序输出的功能。
nums = []
names = []
Afternums = []
Afternames = []
Afternums1 = []
Afternames1 = []
Afternums2 = []
Afternames2 = []
Afternums3 = []
Afternames3 = []
def init():
while(1):
num = int(input('please enter a number:'))
name = input('please enter the name:')
nums.append(num)
names.append(name)
if(input('是否继续输入,退出请按q:') == 'q'):
break
def sortnumer():
num = nums[:]
name = names[:]
while(len(num)):
Minnum = min(num)
Minname = name.pop(num.index(Minnum))
Afternums.append(Minnum)
Afternames.append(Minname)
num.remove(Minnum)
print("编号从小到大:")
print(30*"*")
for i in range(len(Afternums)):
print('%15d %-20s' % (Afternums[i],Afternames[i]))
print(30*"*")
def sortnumer1():
num1 = nums[:]
name1 = names[:]
while(len(num1)):
Maxnum = max(num1)
Maxname = name1.pop(num1.index(Maxnum))
Afternums1.append(Maxnum)
Afternames1.append(Maxname)
num1.remove(Maxnum)
print("编号从大到小:")
print(30*"*")
for i in range(len(Afternums1)):
print('%15d %-20s' % (Afternums1[i],Afternames1[i]))
print(30*"*")
def sortname():
num2 = nums[:]
name2 = names[:]
while(len(name2)):
Minname = min(name2)
Minnum = num2.pop(name2.index(Minname))
Afternums2.append(Minnum)
Afternames2.append(Minname)
name2.remove(Minname)
print("姓名从小到大:")
print(30*"*")
for i in range(len(Afternames2)):
print('%15s %-10d' % (Afternames2[i],Afternums2[i]))
print(30*"*")
def sortname1():
num3= nums[:]
name3 = names[:]
while(len(name3)):
Maxname = str(max(name3))
Maxnum = num3.pop(name3.index(Maxname))
Afternums3.append(Maxnum)
Afternames3.append(Maxname)
name3.remove(Maxname)
print("姓名从大到小:")
print(30*"*")
for i in range(len(Afternames3)):
print('%15s %-10d' % (Afternames3[i],Afternums3[i]))
print(30*"*")
def main():
print(20*"*"+"欢迎进入人力资源档案系统"+20*"*")
print("请输入一组职员名称和编号:")
init()
print("请选择查看的方式")
print("1.按照编号从小到大输出")
print("2.按照编号从大到小输出")
print("3.按照姓名从小到大输出")
print("4.按照姓名从大到小输出")
print("0.退出请按0")
while(1):
index = int(input("请选择:"))
if(index==1):
sortnumer()
elif(index==2):
sortnumer1()
elif(index==3):
sortname()
elif(index==4):
sortname1()
elif(index==0):
print("您已退出,谢谢使用")
break
else:
print("输入有误,请重试")
main() >>> ================================ RESTART ================================
>>>
********************欢迎进入人力资源档案系统********************
请输入一组职员名称和编号:
please enter a number:5659
please enter the name:zhaoyujiao
是否继续输入,退出请按q:
please enter a number:8965
please enter the name:songlin
是否继续输入,退出请按q:
please enter a number:1234
please enter the name:xiaohua
是否继续输入,退出请按q:q
请选择查看的方式
1.按照编号从小到大输出
2.按照编号从大到小输出
3.按照姓名从小到大输出
4.按照姓名从大到小输出
0.退出请按0
请选择:1
编号从小到大:
******************************
1234 xiaohua
5659 zhaoyujiao
8965 songlin
******************************
请选择:2
编号从大到小:
******************************
8965 songlin
5659 zhaoyujiao
1234 xiaohua
******************************
请选择:3
姓名从小到大:
******************************
songlin 8965
xiaohua 1234
zhaoyujiao 5659
******************************
请选择:4
姓名从大到小:
******************************
zhaoyujiao 5659
xiaohua 1234
songlin 8965
******************************
请选择:5
输入有误,请重试
请选择:0
您已退出,谢谢使用
>>>
python练习的更多相关文章
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
- Apache执行Python脚本
由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...
- python开发编译器
引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...
- 关于解决python线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- sql clear dblog
USE [master]GOALTER DATABASE ndFlightPolicy SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE ndFligh ...
- 1.0、Struts2的简单搭建方法
一.Struts2:是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet:用于jsp页面与Java代码之间的交互. 1.核心:Filter拦截器,对所有的请求进行拦截. 2.工作 ...
- shell--3.运算符
1.注意 原生bash不支持简单的数学运算,但是可以用其它命令来实现如 awk 和expr ,expr最常用 val=`expr 2 + 3` echo "结果 ${val}" # ...
- 用JS获取地址栏参数的方法
采用正则表达式获取地址栏参数: function GetQueryString(name) { var reg = new RegExp("(^|&)"+ nam ...
- sdcms留言提交
引入这两个js <script src="{webroot}lib/validator/jquery.validator.js"></script>< ...
- JS处理JSON和数组
数组操作: var unnorArray = []; for ( var i = 0; i < record.length; i++) { var item = {}; if (record[i ...
- word20161208
EAP, Extensible Authentication Protocol / 可扩展身份验证协议 EFS, encrypting file system / 加密文件系统 embedded ob ...
- PHP之autoload理解
举个例子就可以看懂了: 同一目录中有2个文件index.php和test.php,在test.php中定义一个test类. test.php <?php class test{ public f ...
- python基础五
列表生成式 将列表data=[1,2,3]里的元素都乘2 方法一 data=[1,2,3] for index,i in enumerate(data): data[index] *=2 print( ...
- ecshop常用二次开发修改
修改ecshop支付宝的支付按钮 http://www.68ecshop.com/article-1081.html 去掉ecshop收货人信息页面的电子邮件必填和电话.手机选填一个 http:/ ...