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线上问题的几种有效技术
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...
随机推荐
- Python SMTP邮件模块
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件, ...
- 在Activity之间传递参数(四)
获取Activity的返回参数(在参数(三)User的例子的基础上实现): 1.activity_the_aty.xml文件:<EditText android:id="@+id/ed ...
- tyvj1198 最优矩阵连乘
描述 一个n*m矩阵由n行m列共n*m个数排列而成.两个矩阵A和B可以相乘当且仅当A的列数等于B的行数.一个N*M的矩阵乘以一个M*P的矩阵等于一个N*P的矩阵,运算量为nmp. 矩阵乘法满 ...
- 交叉编译中的build、host和target
build.host和target 在交叉编译中比较常见的一些参数就是build.host和target了,正确的理解这三者的含义对于交叉编译是非常重要的,下面就此进行解释 --build=编译 ...
- SET基本数据类型
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADZCAIAAACo85tgAAAgAElEQVR4Aey9SdAs13XnV/P8jW8e8D
- ecshop调用后台指定广告位下所有广告循环
ecshop本身的广告调用规则是:对某个广告位下的广告列表随机显示其中一条. 而我们有时需要将某个广告位下的所有广告全部显示出来,那么如何处理呢,下面就自己做了一个函数: \includes\lib_ ...
- winfrom 隐藏任务栏(win7)
1:新建winfrom 窗体应用程序 2:拖入contextMenuStrip.notifyIcon 2个控件 3:如图 4:code: 注意:复制控件事件要注册 using System; usin ...
- ACM/ICPC 之 最小割转网络流(POJ3469)
重点:构图 //最小割转网络流 //邻接表+Dinic //Time:5797Ms Memory:6192K #include<iostream> #include<cstring& ...
- cocoaPods 的使用
打开 终端 1. 移除系统自带的 因为该rub已经被和谐了 使用ruby.taobao.org MCJ:~ MCJ$ sudo gem sources -l *** CURRENT SOURCES * ...
- Jquery点击本身,修改出本身之外的其他同级元素的样式
1.引用Jquyer库 2.Jquery代码: <script type="text/javascript"> $(function () { slidColor('d ...