本帖最后由 TUX 于 2015-12-5 17:00 编辑
[root@test12 python]# pwd
/root/python
[root@test12 python]# head -5 contact_list.txt
1 ZhaoWei YY 13524651414
2 LinZhiLing MT 13542554584
3 ZhangJingChu YY 15485456655
4 TongLei YY 15421455565
5 ZhangLiangYing GS 13544855446
【注】:复制到linux的时候、需要删除所有//以及后边的注释信心vim contact.py附件附上脚本、可供下载实验!
....................................................................................................................................................
#!/usr/bin/env python
#!Author:wwj
#!Date:2015-12-04
#!Description:1、输入用户名、无限循环直到输入正确为止;
2、输入密码、无限循环直到输入正确为止;
3、输入要查询的name、循环判断如果是空值、提示重新输入、否则循环读取contact_list.txt中的每一行进行模糊匹配、
4、输出所有匹配值、或者输出没有匹配值的提示、程序结束;
while True: //无限循环输入用户名直到输入正确、进入下一循环输入密码;
name = raw_input("Please enter your name >>> ") //交互式输入用户名、并赋值给name变量;
if name == 'wwj': //判断name是否等于wwj;
p = 'nihao' //给p赋值、p是密码;
while True: //无限循环输入密码直到输入正确、进入查找模块;
passwd = raw_input('Please enter <'+name+'> password : ') //交互输入密码;
if passwd == p: //判断密码是否正确;
print "Welcome login to web!\n" //密码输入正确、欢迎提示;
while Ture: //循环判断name是否为空值 、否则重新输入 ma_name = raw_input('\033[32mPlease enter the matching name you want to find >
>> \033[0m') //交互输入需要查询的名字'\033[32m.....\033[0m'为颜色语句
len_name = len(ma_name) //判断输入name是否为空值
if len_name != 0: //如果不是空值 继续
contact_file = file('contact_list.txt') //打开txt文件;
match_yes = 1 //查询匹配状态、0:有匹配 1:无匹配;
while True: //循环txt文件的每一行、直到空行退出;
line = contact_file.readline() //读取文件的第1行、依次循环2.3.4.....;
if len(line) == 0: //判断行的长度如果为0;
break //退出当前循环体;
if ma_name in line: //查询name是否在当前行有匹配值;
print "Match line : \033[31m%s\033[0m"% line //如果模糊查询
到匹配值、输出当前行;
match_yes = 0 //查询到有匹配值、赋值0;
else: //判断name没有匹配值;
pass //略过、继续执行下一条语句;
if match_yes == 1: //如果循环结束、没有匹配值、输出提示;
print "Sorry,No matching name"
break //循环结束后、输出匹配信息或者没匹配提示、退出循环体;
else: //如果输入name是空值、提示空值重新输入
print "Your input is an empty value! Please re-enter!"
else: //如果用户密码输入不正确、提示重新输入密码直到正确为止;
print "Wrong password! Please try agein!"
else: //如果name不等于wwj、提示重新输入用户名直到正确为止;
print "Sorry,This user %s not found." %name
....................................................................................................................................................
实验效果:
[root@test12 python]# pwd
/root/python
[root@test12 python]# head -5 contact_list.txt
1 ZhaoWei YY 13524651414
2 LinZhiLing MT 13542554584
3 ZhangJingChu YY 15485456655
4 TongLei YY 15421455565
5 ZhangLiangYing GS 13544855446
【注】:复制到linux的时候、需要删除所有//以及后边的注释信心vim contact.py附件附上脚本、可供下载实验!
....................................................................................................................................................
#!/usr/bin/env python
#!Author:wwj
#!Date:2015-12-04
#!Description:1、输入用户名、无限循环直到输入正确为止;
2、输入密码、无限循环直到输入正确为止;
3、输入要查询的name、循环判断如果是空值、提示重新输入、否则循环读取contact_list.txt中的每一行进行模糊匹配、
4、输出所有匹配值、或者输出没有匹配值的提示、程序结束;
while True: //无限循环输入用户名直到输入正确、进入下一循环输入密码;
name = raw_input("Please enter your name >>> ") //交互式输入用户名、并赋值给name变量;
if name == 'wwj': //判断name是否等于wwj;
p = 'nihao' //给p赋值、p是密码;
while True: //无限循环输入密码直到输入正确、进入查找模块;
passwd = raw_input('Please enter <'+name+'> password : ') //交互输入密码;
if passwd == p: //判断密码是否正确;
print "Welcome login to web!\n" //密码输入正确、欢迎提示;
while Ture: //循环判断name是否为空值 、否则重新输入 ma_name = raw_input('\033[32mPlease enter the matching name you want to find >
>> \033[0m') //交互输入需要查询的名字'\033[32m.....\033[0m'为颜色语句
len_name = len(ma_name) //判断输入name是否为空值
if len_name != 0: //如果不是空值 继续
contact_file = file('contact_list.txt') //打开txt文件;
match_yes = 1 //查询匹配状态、0:有匹配 1:无匹配;
while True: //循环txt文件的每一行、直到空行退出;
line = contact_file.readline() //读取文件的第1行、依次循环2.3.4.....;
if len(line) == 0: //判断行的长度如果为0;
break //退出当前循环体;
if ma_name in line: //查询name是否在当前行有匹配值;
print "Match line : \033[31m%s\033[0m"% line //如果模糊查询
到匹配值、输出当前行;
match_yes = 0 //查询到有匹配值、赋值0;
else: //判断name没有匹配值;
pass //略过、继续执行下一条语句;
if match_yes == 1: //如果循环结束、没有匹配值、输出提示;
print "Sorry,No matching name"
break //循环结束后、输出匹配信息或者没匹配提示、退出循环体;
else: //如果输入name是空值、提示空值重新输入
print "Your input is an empty value! Please re-enter!"
else: //如果用户密码输入不正确、提示重新输入密码直到正确为止;
print "Wrong password! Please try agein!"
else: //如果name不等于wwj、提示重新输入用户名直到正确为止;
print "Sorry,This user %s not found." %name
....................................................................................................................................................
实验效果:
编辑回复