day04-- jobs

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()
View Code

 

Guess you like

Origin www.cnblogs.com/surpass123/p/12423373.html