first question
Plot the following two lists in memory of how to store l1=[11,22,[333,444]] l2=[11,22,[33,{'name':'egon','age':18}]]
As shown below
The second question
Users enter a name, age, work, hobbies, and then printed in the following format ------------ info of Egon ----------- Name : Egon Age : 22 Sex : male Job : Teacher ------------- end -----------------
as follows:
#-*- coding:utf-8 -*- def main(): name = input('please enter your name:').strip() age = int(input('please enter your age:').strip()) sex = input('please enter your sex:').strip() job = input('please enter your job:').strip() printinfo(name,age,sex,job) def printinfo(name,age,sex,job): print('{0:-^30}'.format('info of Egon')) print('Name:{0}\nAge:{1}\nSex:{2}\nJob:{3}'.format(name,age,sex,job)) print('{0:-^30}'.format('end')) if __name__ == '__main__': main()
operation result:
The third question
Enter the user account password, the program individually to determine whether the correct account number and password, the correct output True, False error output to
code show as below:
#!/usr/bin/env python #-*- coding:utf-8 -*- def main():
tag = False username = input('please enter your account:').strip() if username == 'Egon': passwd = input('please enter your password:').strip() if passwd == 'Alex666': tag = True print(tag) if __name__ == '__main__': main()
测试用例:
[{'Egon':'Alex666'},{'Tank':'CCCDDD'},{'Egon':'VIPbnc'}]
运行结果:
[root@Kingstar test]# /usr/bin/python test_2.py please enter your account:Egon please enter your password:Alex666 True [root@Kingstar test]# [root@Kingstar test]# /usr/bin/python test_2.py please enter your account:Tank False [root@Kingstar test]# /usr/bin/python test_2.py please enter your account:Egon please enter your password:VIPbnc False [root@Kingstar test]#
第四题
让计算机提前记下egon的年龄为18岁,写一个才年龄的程序,要求用户输入所猜的年龄
,然后程序拿到用户输入的年龄与egon的年龄比较,输出比较结果即可
代码如下:
#!/usr/bin/env python #-*- coding:utf-8 -*- def main(): user_info = {'egon':18} guess_age = int(input('please enter the age of egon:').strip()) if guess_age == user_info.get('egon'): print('猜对了!') elif guess_age < user_info.get('egon'): print('猜小了!') else: print('猜大了!') if __name__ == '__main__': main() [root@Kingstar test]# /usr/bin/python test_3.py please enter the age of egon:18 猜对了! [root@Kingstar test]# /usr/bin/python test_3.py please enter the age of egon:19 猜大了! [root@Kingstar test]# /usr/bin/python test_3.py please enter the age of egon:17 猜小了!
第五题
程序从数据库中取出来10000条数据,打算显示到页面中,
但一个页面最多显示30条数据,请选取合适的算数运算符,计算
显示满30条数据的页面总共有多少个?
最后一页显示几条数据
代码如下:
#!/usr/bin/env python #-*- coding:utf-8 -*- def main(): num_of_data = 10000 per_data = 30 print(f'显示满30条数据的页面一共有{num_of_data//per_data}') print('最后一页显示{0}条数据'.format(num_of_data%per_data)) if __name__ == '__main__': main() [root@Kingstar test]# /usr/bin/python test_4.py 显示满30条数据的页面一共有333 最后一页显示10条数据
第六题
egon今年为18岁,请用增量赋值计算3年后egon老师的年龄
代码如下:
#!/usr/bin/env python #-*- coding:utf-8 -*- def main(): age = 18 print('3年后,{0}的年龄为{1}'.format('egon',age+3)) if __name__ == '__main__': main() [root@Kingstar test]# /usr/bin/python test_5.py 3年后,egon的年龄为21
第七题
将值10一次性赋值给变量名x、y、z >>> x=y=z=10 >>> print(x,y,z) 10 10 10 >>>
第八题
请将下面的值关联到它应该对应的变量名上,你懂的 dsb = "egon" superman = "alex"
>>> dsb = 'egon'
>>> superman = 'alex'
>>> dsb,superman = superman,dsb
>>> print(dsb,superman)
alex egon
>>>
第九题
我们只需要将列表中的傻逼解压出来,一次性赋值给对应的变量名即可 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)
alex_sb wusir_sb oldboy_sb
>>>
附加题:
编写用户登录接口(学的多的同学,尝试做下述作业,这是截止到下周二学完文件处理之后的作业) #1、输入账号密码完成验证,验证通过后输出"登录成功" #2、可以登录不同的用户 #3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁) #扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
代码如下:
#!/usr/bin/env python #-*- coding:utf-8 -*- #project:login #author:surpass_w import os import sys import time import subprocess from threading import Timer user_info = [{'account':'egon','password':'success888'}, {'account':'alex','password':'ok666abc'}, {'account':'surpass','password':'svipaa1'}] err_record = [{'account':'egon','record':0}, {'account':'alex','record':0}, {'account':'surpass','record':0}] lock_file = 'block_account.txt' class Login: def __init__(self,user_dict,err_dict,interval): self.user_dict = user_dict self.err_dict = err_dict self.interval = interval def login(self): count = 0 self.del_lock_account = [] while True: try: f = open(lock_file,'r+') except: cmd = 'touch %s\nchmod +x %s' % (lock_file,lock_file) subprocess.check_call(cmd,shell=True) f = open(lock_file,'r+') lock_user_list = f.readlines() self.lock_account_dict = {lock_user_list[i].replace('\n','').split(' ')[0] :lock_user_list[i].replace('\n','').split(' ')[1] for i in range(len(lock_user_list))} username = input('Please enter your account >>>:') if username in self.lock_account_dict.keys(): print('The account [%s] has been locked' % username) elif username in self.user_dict.keys(): password = input('Please enter your password >>>:') if password == self.user_dict.get(username): print('Welcome %s, a successful login!' % username) sys.exit(0) else: self.err_dict[username] += 1 if self.err_dict[username] == 3: lock_time = int(time.time()) self.del_lock_account.append(username) f.write(username+' '+str(lock_time)+'\n') self.err_dict[username] = 0 print('The account [%s] is about to be locked' % username) self.t = Timer(self.interval,self.update_lock_file) self.t.start() else: print('Wrong password!\nYou have 3 chances in all, remain %d.' %(3-self.err_dict[username])) else: count += 1 if count == 3: print('Enter invalid account 3 times, the system is shutdown!') sys.exit(0) else: print('The account [%s] does not exist!\nPlease reenter, you have 3 chances'+ 'in all, remain %d.' % (3-count)) f.close() def update_lock_file(self): for i in range(len(self.del_lock_account)): if self.del_lock_account[i] in self.lock_account_dict.keys(): local_machine_time = int(time.time()) if (int(self.lock_account_dict.get(self.del_lock_account[i])) +300) == local_machine_time: del self.lock_account_dict[self.del_lock_account[i]] f1 = open(lock_file,'w') for k,v in self.lock_account_dict.items(): f1.write(k+' '+v+'\n') f1.close() def main(): user_dict = {user_info[i].get('account'):user_info[i].get('password') for i in range(len(user_info))} err_dict = {err_record[j].get('account'):err_record[j].get('record') for j in range(len(err_record))} interval = 300 l = Login(user_dict,err_dict,interval) l.login() if __name__ == '__main__': main()