Python学习练习题

  今天上研究生课程,发现测绘的平差啥的也太难了。不过今天开心的事情是认识了一个有趣的湖南女孩子,她也正在学习Python。今天获得的一个新知识,数学王子高斯居然还是一个大地测量学家,以前的这些厉害的人真全能。

  练习了两个小作业,一个是实现登录操作,另一个是实现三级菜单。费了好大力气才调试好,基础真是太差了。每天都有点着急的想快点学习这些Python的知识,可能我做事情是有点急于求成了,但是一旦时间过去,而没有进展就很容易搁置这些要学的东西。

  因为参照了不少别人的程序,这里简单贴一下代码。并不是最优的程序,但是我觉得这已经是我目前所能达到的最好的样子了。

程序1:

#readme:实现登录,(用文件实现)若用户名密码为已有的,则登录成功;若密码错误或用户名不存在,则登录失败。最多尝试三次,
# 否则会锁定用户(while循环),而且要加入黑名单文件
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''f=open('blacklist.txt',"w+")
f.write("aaa")
f.close()'''
username="Alex"
userkeys="123"
count=0
#打开黑名单文件检查是否存在黑名单里,读到一个列表里
f=open("test.txt","r")
file_list=f.readlines() #把文件里的行读到list里
lock=[]
f.close()
name=input("请输入姓名")
#使用循环实现,只有循环次数小于等于3的时候才会去搜索文件里已有的用户名和密码。若存在,则登录成功,
# 退出循环;若没有,则登录失败。如果尝试次数大于三次了,则提示用户已锁定。
for i in file_list:
line=i.strip(" ")
lock.append(line)
if name in lock:
print("你的用户已被锁定")
else:
if name==username:
while count<3:
password=input("请输入密码")
if password==userkeys:
print("欢迎登陆")
break
else:
print("密码错误")
count+=1
else:
print("账户已锁定")
f=open("aaa.txt","w+")
li=["%s"%name]
f.writelines(li)
f.close()
else:
print("用户名不存在,请输入正确的用户名")

程序2:

'''
建立一个三级搜索目录,比如省市区。使用字典来建立,每次选择一个上一级菜单,则显示下一级菜单里所包含的,
返回上一级菜单
'''
menu={"浙江省":{"杭州市":
{"西湖区":{},"上城区":{}},
"嘉兴市":
{"南湖区":{},"秀洲区":{}}
},
"江苏省":{"苏州市":
{"吴中区":{},"吴江区":{}}
}
}
current_layer=menu
layer=[]
while True:
for i in current_layer:
print(i)
choice = input("choose a prvince or press b to back and press q to quit:").strip()
if not choice:
continue
if choice in current_layer:
layer.append(current_layer)
current_layer = current_layer[choice]
elif choice == 'b':
current_layer = layer.pop()
elif choice == 'q':
break
else:
print("输入不正确")

再次感慨,Python的缩进真的太重要了。
原文地址:https://www.cnblogs.com/zyycumt/p/11483492.html