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线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- Beanutils基本用法
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的.无论谁的项目,始终一天都会用得上它.我算是后知后觉了,第一回看到它的时候居然错过. 1.属性的动态gett ...
- [Nhibernate]体系结构
引言 在项目中也有用到过nhibernate但对nhibernate的认识,也存留在会用的阶段,从没深入的学习过,决定对nhibernate做一个系统的学习. ORM 对象-关系映射(OBJECT/R ...
- [转]Oracle存在则更新,不存在则插入
原文:http://hi.baidu.com/mawf2008/item/eec8c7ad1c5be5ae29ce9da6 merge into a using bon (a.a=b.b)when m ...
- JAVA创建多线程
首先:线程与进程的区别是什么呢? 进程:正在运行的一个程序称之为一个进程,进程负责了内存空间的划分,从宏观的角度:windows是在同时执行多个程序 从微观的角度看,CPU是在快速的切换要执行的程序. ...
- Raid与DAN、SAN、NAS基础
一. 磁盘基本知识 1. Raid分类 Raid磁盘阵列是由多个磁盘组合成的磁盘组,可将数据分割成许多区段,分别存放在各个磁盘上:同时利用不同排列技术,可提高磁盘性能和数据安全性.下列简单介绍几种Ra ...
- 只用@property定义一个属性speed,子类不能直接用_speed,需要在interface的成员变量列表里写上_speed
//写法一: @interface Person : NSObject { } @property (nonatomic, strong) NSString *name; @end @implemen ...
- UIScrollView的其他属性
@property(nonatomic) BOOL bounces; 设置UIScrollView是否需要弹簧效果 @property(nonatomic,getter=isScrollEnabled ...
- mac 上的 python
1.mac 上的 python 自己感觉很乱 1.额外安装的 自带的 python27-apple /System/Library/Frameworks/Python.framework/Versio ...
- iOS开发——高级篇——iOS中如何选择delegate、通知、KVO(以及三者的区别)
在开发IOS应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers[B]怎么进行通信.在IOS应用不断的出现三种模式来实现这种通信:1委托delegation2通知 ...
- 【转载总结】jQuery和HTML5全屏焦点图
选项设置与说明 Slider Revolution提供了很多参数选项设置: delay: 滑动内容停留时间.默认9000毫秒 startheight: 滑动内容高度,默认490像素. startwid ...