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线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- B:Wordpress不同分类调用不同的模板
这里指的是默认文章类型的模板(single.php,category.php) 应用场景: 默认文章默认有2个大类(新闻资讯.游戏资料) 新闻资讯下的所有子分类调用"新闻资讯列表模板,新闻内 ...
- 关于Spring中的<context:annotation-config/>配置
当我们需要使用BeanPostProcessor时,直接在Spring配置文件中定义这些Bean显得比较笨拙,例如: 使用@Autowired注解,必须事先在Spring容器中声明AutowiredA ...
- vtkMapper
本文只是整理了该网页的内容:http://www.cnblogs.com/lizhengjin/archive/2009/08/16/1547340.html vtkMapper是一个抽象类,指定了几 ...
- Android 实现分页(使用TabWidget/TabHost)
注:本文为转载,但该内容本人已亲身尝试,确认该方法可行,代码有点小的改动,转载用作保存与分享. 原作者地址:http://gundumw100.iteye.com/blog/853967 个人吐嘈:据 ...
- iOS开发——高级篇——iOS中常见的设计模式(MVC/单例/委托/观察者)
关于设计模式这个问题,在网上也找过一些资料,下面是我自己总结的,分享给大家 如果你刚接触设计模式,我们有好消息告诉你!首先,多亏了Cocoa的构建方式,你已经使用了许多的设计模式以及被鼓励的最佳实践. ...
- jsp 以及javabean内省技术
l JSP l JavaBean及内省 l EL表达式 1.1 上次课内容回顾 会话技术: Cookie:客户端技术.将数据保存在客户端浏览器上.Cookie是有大小和个数的限制. Session:服 ...
- HDU 3879 Base Station(最大权闭合子图)
经典例题,好像说可以转化成maxflow(n,n+m),暂时只可以勉强理解maxflow(n+m,n+m)的做法. 题意:输入n个点,m条边的无向图.点权为负,边权为正,点权为代价,边权为获益,输出最 ...
- iOS中关于NavigationController中preferredStatusBarStyle一直不执行的问题
重点:真的能改吗?跑起来毛用没有. 1.还要在plist文件里把View controller-based status bar appearance设置成YES. 2.一定要写UINavigatio ...
- 整合Spring、SpringMVC、MyBatis
spring+springmvc+mybatis集成 一个核心:将对象交给spring管理. 1新建web项目 2添加项目jar包 spring包见上一篇博客 3建立项目的目录结构 4完成Mapper ...
- 多个DataSet数据合并
DataSet ds = myIAppSet.GetHomeHottestList(siteID, , time); ].Rows.Count > ) { ds.Merge(ds1); } Me ...