初学python-练习_4使用python编写本地登录程序(带注册)
2018-02-08 11:00
591 查看
源代码:
#!/usr/bin/python
#-*- coding:UTF-8 -*- #set chinese code
#设置相关值
NAME_MAX = 8; #名称长度限制
AUTOGRAPH_MAX = 16; #签名长度限制
EDIT = True; #程序结束
while EDIT:
#打印开始界面
print "**********登录到您的python**********";
Account_number = raw_input("\t账号:");
Account_Password = raw_input("\t密码:");
#通过文件名打开本地用户名
#捕获异常
try:
#判断账号是否存在
Account_number_file = open(Account_number,"r");
#打印账号信息
print "**********账号信息**********";
print "账号:",Account_number_file.next(),; #已从文件行中读取换行符,所以不需要换行
Account_number_file.next(); #跳过密码
print "名称:",Account_number_file.next(),;
#字符格式化
if Account_number_file.next() == "gg\n":
print "性别: 男";
else:
print "性别: 女";
print "签名:",Account_number_file.next(),;
break;
except IOError: #open函数调用失败是IOError会被设置异常
#打开失败则表示该文件不存在询问用户是否创建
#轮询判断
while True:
Create_conditions = raw_input("该账号不存在是否创建?(y/n)");
if Create_conditions == 'y':
#让用户填写相关完整信息
#名称
print "请为该账号完善信息";
#轮询判断名称长度是否超出限制
while True:
Account_number_name = raw_input("名称:");
if len(Account_number_name) > NAME_MAX:#(utf-8 code)
print "名称超出限制,请限制在8个字符以内(中文算2个字符)\n请重新输入";
else:
break;
#性别
#轮询判断输入是否正确
while True:
Account_number_gender = raw_input("性别(gg/mm):");
if Account_number_gender != "gg" and Account_number_gender != "mm":
print "您输入有误,请重新输入";
else:
break;
#签名
#轮询判断签名是否超出限制
while True:
Account_number_autograph = raw_input("签名:");
if len(Account_number_autograph) > AUTOGRAPH_MAX:
print "签名长度超出限制,请控制在16个字符以内(中文算2个字符)\n请重新输入";
else:
break;
#将账号信息写入
Account_number_file = open(Account_number,"w+");
Account_number_file.write(Account_number); #写入账号
Account_number_file.write("\n"); #写入签名
Account_number_file.write(Account_Password); #写入换行
Account_number_file.write("\n"); #写入签名
Account_number_file.write(Account_number_name); #写入换行
Account_number_file.write("\n"); #写入签名
Account_number_file.write(Account_number_gender); #写入性别
Account_number_file.write("\n"); #写入换行
Account_number_file.write(Account_number_autograph); #写入签名
Account_number_file.write("\n"); #写入换行
print "创建完成,登录到您的python吧~";
break;
elif Create_conditions == 'n':
EDIT = False;
break;
else:
print "输入的格式不正确,请重新输入";
运行示列:
**********登录到您的python**********
账号:123
密码:123
该账号不存在是否创建?(y/n)y
请为该账号完善信息
名称:test
性别(gg/mm):gg
签名:这里是签名~
签名长度超出限制,请控制在16个字符以内(中文算2个字符)
请重新输入
签名:这里是签名
创建完成,登录到您的python吧~
**********登录到您的python**********
账号:123
密码:123
**********账号信息**********
账号: 123
名称: test
性别: 男
签名: 这里是签名
#!/usr/bin/python
#-*- coding:UTF-8 -*- #set chinese code
#设置相关值
NAME_MAX = 8; #名称长度限制
AUTOGRAPH_MAX = 16; #签名长度限制
EDIT = True; #程序结束
while EDIT:
#打印开始界面
print "**********登录到您的python**********";
Account_number = raw_input("\t账号:");
Account_Password = raw_input("\t密码:");
#通过文件名打开本地用户名
#捕获异常
try:
#判断账号是否存在
Account_number_file = open(Account_number,"r");
#打印账号信息
print "**********账号信息**********";
print "账号:",Account_number_file.next(),; #已从文件行中读取换行符,所以不需要换行
Account_number_file.next(); #跳过密码
print "名称:",Account_number_file.next(),;
#字符格式化
if Account_number_file.next() == "gg\n":
print "性别: 男";
else:
print "性别: 女";
print "签名:",Account_number_file.next(),;
break;
except IOError: #open函数调用失败是IOError会被设置异常
#打开失败则表示该文件不存在询问用户是否创建
#轮询判断
while True:
Create_conditions = raw_input("该账号不存在是否创建?(y/n)");
if Create_conditions == 'y':
#让用户填写相关完整信息
#名称
print "请为该账号完善信息";
#轮询判断名称长度是否超出限制
while True:
Account_number_name = raw_input("名称:");
if len(Account_number_name) > NAME_MAX:#(utf-8 code)
print "名称超出限制,请限制在8个字符以内(中文算2个字符)\n请重新输入";
else:
break;
#性别
#轮询判断输入是否正确
while True:
Account_number_gender = raw_input("性别(gg/mm):");
if Account_number_gender != "gg" and Account_number_gender != "mm":
print "您输入有误,请重新输入";
else:
break;
#签名
#轮询判断签名是否超出限制
while True:
Account_number_autograph = raw_input("签名:");
if len(Account_number_autograph) > AUTOGRAPH_MAX:
print "签名长度超出限制,请控制在16个字符以内(中文算2个字符)\n请重新输入";
else:
break;
#将账号信息写入
Account_number_file = open(Account_number,"w+");
Account_number_file.write(Account_number); #写入账号
Account_number_file.write("\n"); #写入签名
Account_number_file.write(Account_Password); #写入换行
Account_number_file.write("\n"); #写入签名
Account_number_file.write(Account_number_name); #写入换行
Account_number_file.write("\n"); #写入签名
Account_number_file.write(Account_number_gender); #写入性别
Account_number_file.write("\n"); #写入换行
Account_number_file.write(Account_number_autograph); #写入签名
Account_number_file.write("\n"); #写入换行
print "创建完成,登录到您的python吧~";
break;
elif Create_conditions == 'n':
EDIT = False;
break;
else:
print "输入的格式不正确,请重新输入";
运行示列:
**********登录到您的python**********
账号:123
密码:123
该账号不存在是否创建?(y/n)y
请为该账号完善信息
名称:test
性别(gg/mm):gg
签名:这里是签名~
签名长度超出限制,请控制在16个字符以内(中文算2个字符)
请重新输入
签名:这里是签名
创建完成,登录到您的python吧~
**********登录到您的python**********
账号:123
密码:123
**********账号信息**********
账号: 123
名称: test
性别: 男
签名: 这里是签名
相关文章推荐
- 初学python-练习_1使用python编写计算班级学生平均分程序
- Python小练习 - 用字典编写简单的注册、登录程序
- 初学python-练习_3使用python编写简单四则运算计算器
- 初学python-练习_2使用python编写彩票软件
- 使用Python开发Android应用程序:第三节 在电脑上编写程序在手机上运行
- c# 编写winform登录注册程序(一,登录部分)
- 如何使用Python为Hadoop编写一个简单的MapReduce程序
- Win7下使用VS2013编写的ActvieX在XP下注册提示:LoadLibrary("XXX.dll")失败-找不到指定的程序
- Python: 使用select函数编写nonblocking TCP/IP socket程序
- 使用IDLE编写Python程序出现汉字横着显示的解决方法(附删除键空格消除)
- 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试
- 使用python编写opencv程序(2、查看图片各种属性,写入图片)
- Win7下使用VS2013编写的ActvieX在XP下注册提示:LoadLibrary("XXX.dll")失败-找不到指定的程序
- 使用python3.0 编写C/S程序,初识wangpython的网络编程
- 【转】使用python编写网络通信程序
- 练习1-21 编写程序entab,将空格串替换成最少数量的制表符和空格,但要保持单词之间的间隔不变。假设制表符终止位的位置与练习1-20的detab程序的情况相同。当使用一个制表符或者一个空格都可以到达下一个制表符终止位时,选用哪种替换字符比较好。
- 使用PyQt来编写第一个Python GUI程序
- php实现注册登录的完整程序(使用mysql数据库)
- 如何使用Python为Hadoop编写一个简单的MapReduce程序
- 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的