Python15-day1课后作业

功能:编写一个用户登录接口

要求:1)根据提示输入用户名、密码信息

   2)输入的用户、密码正确则显示欢迎信息

   3)连续三次输入错误则锁定账号

#coding=utf-8
import sys,os,getpass
i = 0 #
while i<3:
name = raw_input("请输入用户名:")
lock_file = open(‘b_lock.txt‘,‘r+‘)
lock_list = lock_file.readlines()
for lock_line in lock_list:
lock_line = lock_line.strip(‘\n‘)
if name in lock_line:
sys.exit (‘用户 %s 已经被锁定,退出‘ % name)
user_file1 = open("b.txt",‘r‘)
user_list1 = user_file1.readlines()
for user_line1 in user_list1:
(user,password) = user_line1.strip(‘\n‘).split() #分别获取帐号和密码信息
# print user
# print password

if name == user:
j = 0 #密码计数
while j < 3: #只要用户密码异常不超过3次就不断循环
passwd = getpass.getpass(‘请输入密码:‘)
if passwd == password:
print(‘欢迎登录管理平台,用户%s‘ % name)
sys.exit(0)
else:
print("用户%s密码错误,请重新输入,还有%d次机会"% (name,2-j))
j += 1
else:
lock_file.write(name + "\n")
print (‘用户 %s 达到最大登录次数,将被锁定并退出‘ % name)
break
else:
pass
else:
print(‘用户 %s 不存在,请重新输入,还有 %d 次机会‘ % (name,2 - i))
i += 1
else:
print(‘用户 %s 不存在,退出‘ % name)

b_lock.close()
b.close()

  

  

时间: 2024-10-18 05:55:30

Python15-day1课后作业的相关文章

Day1课后作业:用户登录简单版

user = "gaojun"password ="123abc"for i in range(3): user = input('请输入用户名:') password = input('请输入密码:') if user == "gaojun" and password =="123abc": print("欢迎!gaojun!") break else: print("用户或密码错误!"

课后作业

课后作业 "类型转换"知识点考核-2 程序源代码: 1 class Mammal{} 2 class Dog extends Mammal {} 3 class Cat extends Mammal{} 4   5 public class TestCast 6 { 7      public static void main(String args[]) 8      { 9             Mammal m; 10             Dog d=new Dog();

数组课后作业

课后作业: 随机生成10个数,填充一个数组,然后用消息框显示数组,接着计算数组元素的和,将结果也显示在消息框中. 设计思路:首先使用random随机产生10个数,存储在数组中,然后使用for循环把数字存储在一个String对象中,再使用for循环求出数组中所有数字的和,最后用对话框输出内容. 程序流程图: 源程序代码: import javax.swing.*; public class Test1{ public static void main( String args[] ){ Strin

lhtjzC++征对视频教程的课后作业在哪里可以找到哦

⌒鉴闽 lhtjzC++征对视频教程的课后作业在哪里可以找到哦

异常处理---动手动脑及课后作业

动手动脑1:请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. 源码: import javax.swing.*; class AboutException { public static void main(String[] a) { int i=1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception

课后作业---字符串

一.课后作业一 1.设计思想:根据题意,首先提示输入要进行的操作:解密或加密,然后输入一个字符串,利用charAt()方法将改变的字母连接到结果上,加密:将前23个大小写字母+3,后3个-23强制转化为char:解密:后23个大小写字母-3,前3个+23.再根据结果进行改变,添加提示. 2.程序流程图: 3.源代码: package T4; //胡建峰,2016.10.25 //字串加密 import java.util.Scanner; public class Test { public s

TJU_SCS_C#课后作业(1)

一.作业要求 这是本学期C#课程学习的第一次课后作业,主要大体感受一下C#编程Visual Studio的界面以及一些基本操作.几乎所有编程语言的学习最初都是由hello world开始的,这次我所做的就是根据章老师上课的示范在控制台中显示hello world字样. 二.作业内容 这是一个很简单的代码,最主要的就一句Console.WriteLine("Hello World!"),我还根据章老师上课的示范对控制台的背景和前景进行了些许尝试. 三.课后思考 感觉C#编程语言和Java

课后作业5

动手动脑1:运行示例代码,查看结果,解释为什么是这个结果,从中你能总结出什么? 运行结果:tru truefalse 分析结果:s1,s2,s0均指向hello字符串常量的地址.所以在执行过程中,Java对于同一字符串是不会开辟新的空间的,而在最后的两者的内容虽然相同,但是他们的地址不同所以不等. 动手动脑2:查看String.equals()方法的实现代码 结果分析:s1==s2是判断地址和值,equals()仅仅判断值,s1,s2的值相同,但是地址不同,s3,s4的地址,内容都相同. 动手动

JAVA第三周课后作业

JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimi

JAVA语法基础 动手动脑及课后作业

动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //