案例1:模拟用户登陆信息系统
1. 支持新用户注册,新用户名和密码注册到字典中
2. 支持老用户登陆,用户名和密码正确提示登陆成功
3. 主程序通过循环询问进行何种操作,根据用户的选
择,执行注册或是登陆操作
import getpass userdb = {} def register(): username =input('username:') if username in userdb : print('%s already exists.' % username) else: password = input('password:') userdb[username]=password def login(): username = input('username:') password = getpass.getpass('password') if userdb.get(username) != password: print('login failed') else: print('login successfull') def show_menu(): cmds = {'0': register, '1': login} prompt = """(0)register (1)login (2)exit Pleale input you choice(0/1/2):""" while True: choice = input(prompt).strip()[0] if choice not in '012': print('Try again/') continue if choice == '2': break cmds[choice]() if __name__ == '__main__': show_menu()
#################################################################################
案例2:编写unix2dos的程序
1. Windows文本文件的行结束标志是\r\n
2. 类unix文本文件的行结束标志是\n
3. 编写程序,将unix文本文件格式转换为windows文
本文件的格式
unxi2dos 系统自带
import sys
def unix2dos(fname):
dst_fname = fname + '.txt'
with open(fname) as src_fobj:
with open(dst_fname, 'w') as dst_fobj:
for line in src_fobj:
line = line.rstrip() + '\r\n'
dst_fobj.write(line)
if __name__ == '__main__':
unix2dos(sys.argv[1])