day04作业
作业:
0、分别画出下面两个列表在内存中是如何存放的
l1=[11,22,[333,444]]
l2=[11,22,[33,{'name':'egon','age':18}]]
1、
用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Egon -----------
Name : Egon
Age : 22
Sex : male
Job : Teacher
------------- end -----------------
user_name=input("请输入姓名:") user_age=input("请输入年龄:") user_sex=input("请输入性别:") user_job=input("请输入职业:") user_info="""------------ info of {0} ----------- Name : {0} Age : {1} Sex : {2} Job : {3} ------------- end -----------------""".format(user_name,user_age,user_sex,user_job) print(user_info)
2、
用户输入账号密码,程序分别单独判断账号与密码是否正确,正确输出True,错误输出False即可
data={ "name":"egon", "pass":"123", } user_name=input("请输入账号:").strip() user_pass=input("请输入密码:").strip() if user_name.isalpha() and user_pass.isdigit(): if user_name==data["name"]: print("账号True") else: print("账号False") if user_pass==data["pass"]: print("密码True") else: print("密码False") else: print("账号或密码类型错误,账号-字母,密码-数字")
3、让计算机提前记下egon的年龄为18岁,写一个才年龄的程序,要求用户输入所猜的年龄
,然后程序拿到用户输入的年龄与egon的年龄比较,输出比较结果即可
egon_age=18 user_inp=input("请输入所猜的年龄值:").strip() if user_inp.isdigit(): user_inp=int(user_inp) if user_inp < egon_age: print("猜小了") elif user_inp > egon_age: print("猜大了") else: print("success!")
4、程序从数据库中取出来10000条数据,打算显示到页面中,
但一个页面最多显示30条数据,请选取合适的算数运算符,计算
显示满30条数据的页面总共有多少个?
最后一页显示几条数据?
x=1000 y=30 print("显示满30条页数",x//y) print("显示满30条,最后一页数据条数",x%y)
5、egon今年为18岁,请用增量赋值计算3年后egon老师的年龄
egon_age=18 for i in range(3): egon_age+=1 print("三年后岁数",egon_age)
6、将值10一次性赋值给变量名x、y、z
x=y=z=10
7、请将下面的值关联到它应该对应的变量名上,你懂的
dsb = "egon"
superman = "alex"
dsb = "egon" superman = "alex" dsb,superman=superman,dsb print("superman:{}".format(superman),"dsb:{}".format(dsb))
8、我们只需要将列表中的傻逼解压出来,一次性赋值给对应的变量名即可
names=['alex_sb','wusir_sb','oldboy_sb','egon_nb','lxx_nb','tank_nb']
names=['alex_sb','wusir_sb','oldboy_sb','egon_nb','lxx_nb','tank_nb'] x,y,z,*_=names print(x,y,z)
选做题:
编写用户登录接口(学的多的同学,尝试做下述作业,这是截止到下周二学完文件处理之后的作业)
#1、输入账号密码完成验证,验证通过后输出"登录成功"
#2、可以登录不同的用户
#3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁)
#扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
目录树:
─day04
│
│
├─user_info_db
│
├─用户登入.py
代码:
import time,os import fileinput flag = True count_error=[] lock_user=set({}) while flag: #存锁定用户 with open("user_info_db","r",encoding="utf-8") as f1: for line in f1: line = line.strip("\n").split(":") # print(line) if line[2] == "1": lock_user.add(line[0]) # print("lock_user",lock_user) user_inpt = input("请输入账号:").strip() user_pass = input("请输入密码:").strip() #验证登录 if user_inpt in lock_user: print("用户已经锁定,请5分钟后再试。。。") time.sleep(300) lock_user.remove(user_inpt) with fileinput.input("user_info_db",inplace=1) as f: for line in f: if line.startswith("lisi"): line = line.strip("\n") line=line.split(":") line[2]="0" print("%s:%s:%s" %(line[0],line[1],line[2])) else: print(line,end="") fileinput.close() else: with open("user_info_db", "r", encoding="utf-8") as f0: for line in f0: line = line.strip("\n").split(":") if user_inpt == line[0] and user_pass == line[1]: print("登入成功。") flag = False break else: print("账号或密码错误,请重新输入。") count_error.append(user_inpt) #刷新文件 if count_error.count(user_inpt) == 3: with fileinput.input("user_info_db",inplace=1) as f: for line in f: if line.startswith(user_inpt): line = line.strip("\n") line=line.split(":") line[2]="1" print("%s:%s:%s" %(line[0],line[1],line[2])) else: print(line,end="") fileinput.close()