zoukankan      html  css  js  c++  java
  • 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的缩进真的太重要了。
  • 相关阅读:
    Hibernate 组合主键映射
    Hibernate 对象的生命周期及CRUD操作
    Hibernate *.hbm.xml对象关系映射文件详解
    Hibernate.cfg.xml详解
    hibernate4日志配置
    Hibernate第一个程序
    hibernate-release-4.3.11.Final资源包介绍
    (转)开源分布式搜索平台ELK(Elasticsearch+Logstash+Kibana)入门学习资源索引
    redis CONFIG REWRITE介绍
    (转)Linux core 文件介绍与处理
  • 原文地址:https://www.cnblogs.com/zyycumt/p/11483492.html
Copyright © 2011-2022 走看看