python作业12

来源:互联网 发布:水杨酸洗面奶 知乎 编辑:程序博客网 时间:2024/05/19 01:32

1.文本处理. 要求输入一个姓名列表,输入格式是“Last Name, First Name,” 即 姓,

逗号, 名. 编写程序处理输入, 如果用户输入错误, 比如“First Name Last Name,” , 请纠正这

些错误, 并通知用户. 同时你还需要记录输入错误次数. 当用户输入结束后, 给列表排序, 然后以

"姓 , 名" 的顺序显示.

输入输出示例(你不需要完全按照这里里例子完成):

% Nametrack.Py

Enter Total Number Of Names: 5

Please Enter Name 0: Smith, Joe

Please Enter Name 1: Mary Wong

>> Wrong Format... Should Be Last, First.

>> You Have Done This 1 Time(S) Already. Fixing Input... Please Enter Name 2: Hamilton,

Gerald

Please Enter Name 3: Royce, Linda

Please Enter Name 4: Winston Salem

>> Wrong Format... Should Be Last, First.

>> You Have Done This 2 Time(S) Already. Fixing Input...

The Sorted List (By Last Name) Is:

Hamilton, Gerald

Ro, Linda

Salem, Winston

Smith, Joe

Wong, Maryyce

 

脚本:

#!/usr/bin/env python

#coding:utf-8

 

nameList = []

t = int(raw_input("Enter total number of names:"))

for i in range(0,t):

name = raw_input("please input name %d:"%i)

if ','in name:

nameList.append(name)

        li = sorted(nameList)

else:

print "Wrong Format... Should Be Last, First."

print "You Have Done This %d Time(S) Already.Please Enter Name %d: "%(i-1,i)

dic = {}.fromkeys(li)

print "your already input name:"

for k in dic.keys():

print k

 

 

 

'''

num = input("please input number of names:")

xm = []

count = 0

a = 1

while a<num:

print ("please input name %d:")%a

name = raw_input()

if "," in name:

xm.append(name)

a +=1

else:

count +=1

print "Wrong Format... Should Be Last, First."

                print "You Have Done This %d Time(S) Already."%count

li = sorted(xm)

dic = {}.fromkeys(li)

print "your already input name:"

for k in dic.keys():

print k

'''

 

 

 

2.

7–5. Userpw2.Py. 下面的问题和例题 7.1 中管理名字-密码的键值对数据的程序有关。

(A)修改那个脚本,使它能记录用户上次的登录日期和时间(用 Time 模块),并与用户密码一起

保存起来。程序的界面有要求用户输入用户名和密码的提示。无论户名是否成功登录,都应有提示,

在户名成功登录后,应更新相应用户的上次登录时间戳。如果本次登录与上次登录在时间上相差不

超过 4 个小时,则通知该用户: “You Already Logged In At: <Last_ Login_Timestamp>.”

(B) 添加一个“管理”菜单,其中有以下两项:(1)删除一个用户 (2)显示系统中所有用户的名

字和他们的密码的清单。

(C) 口令目前没有加密。请添加一段对口令加密的代码(请参考 Crypt, Rotor, 或其它加密模块)

(D) 为程序添加图形界面,例如,用 Tkinter 写。

(E) 要求用户名不区分大小写。

(F) 加强对用户名的限制,不允许符号和空白符。

(G)合并“新用户”和“老用户”两个选项。如果一个新用户试图用一个不存在的用户名登录,

询问该用户是否是新用户,如果回答是肯定的,就创建该帐户。否则,按照老用户的方式登录。\

 

3.人力资源。创建一个简单的雇员姓名和编号的程序,让用户输入一组雇员姓名和编号,你的程序可一提供按照姓名排序输出的功能,雇员姓名显示在前面,后面是对应的姓名编号,,雇员姓名在前面,编号在后面。附加题;添加一项功能,按照雇员编号的顺序输出数据

 

#!/usr/bin/env python

#coding:utf-8

dic1 = {}

dic2 = {}

def add():

i=0

count = input("please input total number of names:")

while i<count:

name = raw_input("please input a username:")

bianhao = raw_input("please input a bianhao:")

dic1[name]=bianhao

dic2[bianhao]=name

i+=1

func()

def func():

print'''

1.插入数据

2.按姓名排序

3.按编号排序

4.退出'''

a = raw_input("what is your options:")

if a=="1":

add()

elif a=="2":

for key in sorted(dic1):

print key,dic1[key]

elif a=="3":

for key in sorted(dic2):

print key,dic2[key]

elif a =="4":

quit

else:

print"input error"

pass

if __name__='__main__':

func()

 

 

 

 

0 0