Python Day1 作业

作业二:编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

FlowChart:

代码:

#!usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Wayne Zhong

user = ‘Wayne‘
pwd = ‘123465‘

f = open(‘status.txt‘)

if f.read() == ‘Y‘:

    for i in range(3):
        username = input(‘Input username:‘)
        password = input(‘Input password:‘)
        if username == user and password == pwd:
            print(‘Welcome login.‘)
            break
        else:
            print(‘User invalid.‘)

    else:
        f = open(‘status.txt‘,‘w‘)
        f.write(‘N‘)
        print(‘3 times wrong input, account is blocked.‘)

else:
    print(‘Account is blocked.‘)

  

作业三:多级菜单

  • 三级菜单
  • 可依次选择进入各子菜单
  • 所需新知识点:列表、字典

Flowchart:

代码:

#!usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Wayne Zhong

city_dict = {
    ‘1.北京‘:{
        ‘(1)朝阳‘ : [‘1.白静‘, ‘2.邹清‘, ‘3.群众‘],
        ‘(2)海淀‘ : [‘1.张佳‘, ‘2.王迪‘, ‘3.学霸‘],
        ‘(3)大兴‘ : [‘1.尹伟‘, ‘2.苏慧‘, ‘3.金良‘]
    },
    ‘2.上海‘:{
        ‘(1)浦东‘ : [‘1.Andy‘, ‘2.黄渊‘, ‘3.蒋一‘],
        ‘(2)徐汇‘ : [‘1.马伟‘, ‘2.高成‘, ‘3.吴成‘],
        ‘(3)宝山‘ : [‘1.刘松‘, ‘2.王丹‘, ‘3.祥子‘]
    },
    ‘3.深圳‘:{
        ‘(1)罗湖‘ : [‘1.陈建‘, ‘2.范志‘, ‘3.刘洋‘],
        ‘(2)南山‘ : [‘1.邓明‘, ‘2.黄灿‘, ‘3.陆坤‘],
        ‘(3)宝安‘ : [‘1.范波‘, ‘2.李松‘, ‘3.王瑶‘]
    },
    ‘4.西安‘:{
        ‘(1)长安‘ : [‘1.陈琳‘, ‘2.Meth‘, ‘3.何潇‘],
        ‘(2)雁塔‘ : [‘1.段佳‘, ‘2.邱力‘, ‘3.杨龙‘],
        ‘(3)未央‘ : [‘1.光圈‘, ‘2.王盼‘, ‘3.孙欢‘]
    }
}

def district():
    while(1):

        d = []

        # print (city_dict[city].keys())
        print(‘%s 有以下区县:‘ % city)
        for i in sorted(city_dict[city].keys()):
            print(i)  # 将district按行输出
            d.append(i)  # 将district按列表排列,放入d列表中

        # print(d)
        district_No = input(‘请输入需查询区县的编号:(后退:b  退出:q)‘)
        print(‘---------------------------------------------------------‘)
        if district_No == ‘q‘:
            print(‘查询结束‘)
            exit()
        elif district_No == ‘b‘:
            break
        else:
            for i in d:
                if district_No in i:
                    district = i
                    print(‘%s 有这些朋友:‘% district)
                    for j in city_dict[city][district]:
                        print (j)
                    print(‘---------------------------------------------------------‘)
                    goon = input(‘查询完成,继续?(Y:继续  其他:结束)‘)
                    if goon == ‘Y‘:
                        break
                    else:
                        print(‘查询结束‘)
                        exit()
            else:
                print(‘区县编号输入错误,请重新输入‘)

while(1):
    c = []
    d = []
    for i in sorted(city_dict.keys()):  #
        print (i)  # 将city按行输出
        c.append(i)  # 将city按列表排列,放入c列表中

    #print (c)
    city_No = input(‘请输入需查询城市的编号:(退出:q)‘)
    print(‘---------------------------------------------------------‘)
    if city_No == ‘q‘:  # 如果输入q,则退出
        print(‘查询结束‘)
        break
    else:  # 如果没有输入q
        for i in c:  # 遍历c列表中的城市
            #print (i)
            if city_No in i:  # 如果输入的city_No在遍历的某城市i中
                city = i  # 把i赋值给city

                district()

                #print(i)
                break
        else:
            print(‘城市编号输入错误,请重新输入‘)  # 如果输入的city_No不在遍历的城市中,重新输入并返回

  

时间: 2025-01-13 11:02:00

Python Day1 作业的相关文章

Day1作业要求

Day1作业 作业需求 博客 模拟登录 三级菜单 博客地址 杨振伟Day1博客地址 模拟登录 1.程序说明 实现功能如下 用户输入密码,密码验证后登录成功 用户登录成功后提示登录信息 用户输入3次错误密码后锁定 2.程序测试账号 测试账号:admin 测试密码:redhat 3.程序测试 python day01_login_03.py 三级菜单 1.程序说明 实现功能如下 运行程序输出第一级菜单 选择一级菜单某项,输出二级菜单,同理输出三级菜单 菜单数据保存在文件中 2.程序测试 python

SPOJ Python DAY1: Life, the Universe, and Everything

博主学统计的,学编程多属自学,且入门角度刁钻.用了3年R,深感有掌握一门外语的必要.最近把自己强力掰弯到Python上来,加之自己算法,数据结构学的也十分业余,故拿SPOJ练练手. 刷题之旅开始了... 1. Life, the Universe, and Everything 题目用的是STAR TREK 的梗,题目本身很简单,个人觉得也比通常OJ中a+b的开头更有趣些.就是打印输入的整数,遇42停. ##### Filename: SPOJ_1 ##### # Life, the Unive

SPOJ Python Day1: Adding Reversed Numbers

水题就要水的滴水不漏=-=,第一个疗程博主决定按照SPOJ提交人数的顺序开始刷,主要任务在于熟悉Python. 42. Adding Reversed Numbers 题目非常简单 Sample input: 3 24 1 4358 754 305 794 第一行是下面输入的行数,主要说的事儿是把第一个数反过来,第二个数反过来,然后加一起,然后再把他们的和反过来.比如说24 1 这行吧: Step 1:24 –> 42, 1 –> 1 Step 2:42+1 = 43 Step 3:43 –&

SPOJ Python Day1: Factorial

11. Factorial 这个题同样非常简单,就是求一个数的阶乘的尾部有多少个0. 思路是有2*5才会出0,然后2肯定比5多,所以就是数N!中有多少个因子5. 关于如何数出因子5的个数中http://www.chinaunix.net/old_jh/23/926848.html这篇文章介绍的非常详细.我就不谈了,不过想说写程序和算法是两个非常不同的工作,我现在的目标是,大概看一下前人的成法,主要完成编程工作. 最终推出的计算公式为: 当$0 < n < 5$时,$f(n!) = 0$; 当$

Python实战作业-day1

作业需求: 实现用户名密码登录验证 判断用户名密码是否正确,正确则打印欢迎信息,错误输出具体的错误原因信息 用户可以连续输入三次密码,超过三次则锁定用户 用户输入的密码位数必须超过6位 作业流程图: 作业代码: 1 #!/usr/bin/python 2 #coding:utf-8 3 4 5 import sys 6 7 count = 0 8 time = 0 9 10 11 while count < 3: 12 loginuser = raw_input("please input

Python学习day1作业总结

为了以后更好更快速的复习,此博客记录我对作业的总结.对于基础作业,我认为最重要的是过程,至于实现是不是完美,代码是不是完美,虽然重要,但是作业过程中,用到的知识点是值得总结和整理的. 一.模拟登陆: 1. 用户输入帐号密码进行登陆  2. 用户信息保存在文件内  3. 用户密码输入错误三次后锁定用户 思路: 1)输入时用户名后,先判断用户名是否被锁,然后检查用户名是否存在用户数据库:  2)输入相同不存在用户名3次,此用户名被锁:  3)输入用户名存在时才可输入密码,相同用户名时,输入密码错误三

Python学习day1作业

作业内容: pass 流程图: 代码: 1.主文件 1 import sys 2 3 lock = "lock.txt" 4 logfile = "login.txt" 5 login_info = 0 6 i = 0 7 8 while i < 3 and login_info== 0 : 9 name = input("Please input your name: ") 10 11 f = open(lock, "r&quo

python day1 基本语法作业

一.过7 1 start =1 2 while start<=10: 3 if start !=7: 4 print(start) 5 start +=1 二.100以内的和 1 sum = 0 2 start = 1 3 while start<=100: 4 sum = sum +start 5 print(start,sum) 6 start+=1 三.100内奇数偶数差的和 1 i = 1 2 sum = 0 3 while i<=100: 4 if i%2 ==1: 5 sum

Python实战作业-day5

作业需求: 用户登录注册页面 首页.注册页面.登录页面:后端存储数据是mysql数据库 作业代码: 1 [email protected]~/reboot15/day5/homework$cat app.py 2 #!/usr/bin/env python 3 #coding:utf-8 4 ''' 5 作业需求: 6 基于mysql数据库实现用户登录模块,并实现针对于用户信息的增删改查 7 ''' 8 9 10 from flask import Flask,render_template,r