Home Backend Development Python Tutorial Example code for creating employee information table using Python

Example code for creating employee information table using Python

Oct 09, 2018 pm 04:45 PM
python

This article brings you example code about using Python to create an employee information table. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

This is a comprehensive exercise question, the requirements are as follows:
Create an employee information table, the format is:

#字段1,字段2,字段3,字段4,字段5
#1,***  ,***  ,  *******,***
#2,***,  ***, *******,***
#3,*** ,***   ,  *****,  ***
Copy after login

Requirements can be queried based on conditional statements, the format is select where Separate commands with spaces

def emp(): 
    lis_res = [[],[],[],[],[]] #定义最终存储数据的列表
    with open('yuangong','r',encoding='utf-8') as f:
        cha = input('请输入查询语句,格式为:select *** where *** > ***').strip()
        lis = cha.split(' ')#定义存放输入语句的列表
        n = [] #n表示符合查询变量的字符串所在列表位置
        if lis[0] == 'select' and lis[2] == 'where':#设定关键字条件
            lis1 = lis[1].split(',')#定义查询元素的列表
            lis_title = f.readline().split(',') #文件中第一行为字段名
            lis_title = [s.strip() for s in lis_title]#列表推导式,去掉每个元素两边的空格
            for v in lis1:#循环遍历要查询的字段是否在文件中
                if v in lis_title:
                    n.append(lis_title.index(v))
            if '*' in lis[1]:n=[0,1,2,3,4]#定义使用*模糊查询
            if n == []: #如果字段不存在则退出程序
                print('查询的字段不存在')
                return
            if lis[4] == '>':#检查条件语句是否是大于号
                if lis[3] in lis_title: #字段是否包含条件语句
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print('字段不含有该条件')
                    return
                for v in f:
                    lis_f = v.split(',')#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis_f[m].isdigit() and lis[5].isdigit():#检查条件是否都为数字
                        if int(lis_f[m]) > int(lis[5]):
                            for i in n:#如果条件成立则把结果追加到lis_res中
                                lis_res[i].append(lis_f[i])
                    else:print('无法进行比较')
            elif lis[4] == '<&#39;:#检查条件语句是否是大于号
                if lis[3] in lis_title: #字段是否包含条件语句
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print(&#39;字段不含有该条件&#39;)
                    return
                for v in f:
                    lis_f = v.split(&#39;,&#39;)#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis_f[m].isdigit() and lis[5].isdigit():#检查条件是否都为数字
                        if int(lis_f[m]) < int(lis[5]):
                            for i in n:#如果条件成立则把结果追加到lis_res中
                                lis_res[i].append(lis_f[i])
                    else:print(&#39;无法进行比较&#39;)
            elif lis[4] == &#39;=&#39;:#检查条件语句是否是大于号

                if lis[3] in lis_title: #字段是否包含条件语句
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print(&#39;字段不含有该条件&#39;)
                    return
                for v in f:
                    lis_f = v.split(&#39;,&#39;)#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis_f[m] == lis[5]:
                        for i in n:#如果条件成立则把结果追加到lis_res中
                            lis_res[i].append(lis_f[i])
            elif lis[4] == &#39;like&#39;:#定义like模糊搜索
                if lis[3]in lis_title:
                    m = lis_title.index(lis[3]) #m表示符合条件语句的字符串所在列表位置
                else:
                    print(&#39;字段不含有该条件&#39;)
                    return
                for v in f:
                    lis_f = v.split(&#39;,&#39;)#把取出来的每条数据都转化成列表
                    lis_f = [s.strip() for s in lis_f] #列表推导式,去掉每个元素两边的空格
                    if lis[5] in lis_f[m]:
                        for i in n:
                            lis_res[i].append(lis_f[i])                
            else:print(&#39;请以空格将各个名字隔开&#39;)       
        else:print(&#39;请输入正确的指令&#39;)
    if n!= []:#防止乱输指令后报错
        for i in range(len(lis_res[n[0]])):#输出结果
            for k in n:
                print(lis_res[k][i],end=&#39;  &#39;)
            print(&#39;\n&#39;,end=&#39;&#39;)
emp()
Copy after login
请输入查询语句,格式为:select *** where *** > ***select * where phone like 188
1  tom  25  18888888888  it
Copy after login

The above is the detailed content of Example code for creating employee information table using Python. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

HadiDB: A lightweight, horizontally scalable database in Python HadiDB: A lightweight, horizontally scalable database in Python Apr 08, 2025 pm 06:12 PM

HadiDB: A lightweight, high-level scalable Python database HadiDB (hadidb) is a lightweight database written in Python, with a high level of scalability. Install HadiDB using pip installation: pipinstallhadidb User Management Create user: createuser() method to create a new user. The authentication() method authenticates the user's identity. fromhadidb.operationimportuseruser_obj=user("admin","admin")user_obj.

Python: Exploring Its Primary Applications Python: Exploring Its Primary Applications Apr 10, 2025 am 09:41 AM

Python is widely used in the fields of web development, data science, machine learning, automation and scripting. 1) In web development, Django and Flask frameworks simplify the development process. 2) In the fields of data science and machine learning, NumPy, Pandas, Scikit-learn and TensorFlow libraries provide strong support. 3) In terms of automation and scripting, Python is suitable for tasks such as automated testing and system management.

The 2-Hour Python Plan: A Realistic Approach The 2-Hour Python Plan: A Realistic Approach Apr 11, 2025 am 12:04 AM

You can learn basic programming concepts and skills of Python within 2 hours. 1. Learn variables and data types, 2. Master control flow (conditional statements and loops), 3. Understand the definition and use of functions, 4. Quickly get started with Python programming through simple examples and code snippets.

Navicat's method to view MongoDB database password Navicat's method to view MongoDB database password Apr 08, 2025 pm 09:39 PM

It is impossible to view MongoDB password directly through Navicat because it is stored as hash values. How to retrieve lost passwords: 1. Reset passwords; 2. Check configuration files (may contain hash values); 3. Check codes (may hardcode passwords).

How to use AWS Glue crawler with Amazon Athena How to use AWS Glue crawler with Amazon Athena Apr 09, 2025 pm 03:09 PM

As a data professional, you need to process large amounts of data from various sources. This can pose challenges to data management and analysis. Fortunately, two AWS services can help: AWS Glue and Amazon Athena.

How to optimize MySQL performance for high-load applications? How to optimize MySQL performance for high-load applications? Apr 08, 2025 pm 06:03 PM

MySQL database performance optimization guide In resource-intensive applications, MySQL database plays a crucial role and is responsible for managing massive transactions. However, as the scale of application expands, database performance bottlenecks often become a constraint. This article will explore a series of effective MySQL performance optimization strategies to ensure that your application remains efficient and responsive under high loads. We will combine actual cases to explain in-depth key technologies such as indexing, query optimization, database design and caching. 1. Database architecture design and optimized database architecture is the cornerstone of MySQL performance optimization. Here are some core principles: Selecting the right data type and selecting the smallest data type that meets the needs can not only save storage space, but also improve data processing speed.

How to start the server with redis How to start the server with redis Apr 10, 2025 pm 08:12 PM

The steps to start a Redis server include: Install Redis according to the operating system. Start the Redis service via redis-server (Linux/macOS) or redis-server.exe (Windows). Use the redis-cli ping (Linux/macOS) or redis-cli.exe ping (Windows) command to check the service status. Use a Redis client, such as redis-cli, Python, or Node.js, to access the server.

How to read redis queue How to read redis queue Apr 10, 2025 pm 10:12 PM

To read a queue from Redis, you need to get the queue name, read the elements using the LPOP command, and process the empty queue. The specific steps are as follows: Get the queue name: name it with the prefix of "queue:" such as "queue:my-queue". Use the LPOP command: Eject the element from the head of the queue and return its value, such as LPOP queue:my-queue. Processing empty queues: If the queue is empty, LPOP returns nil, and you can check whether the queue exists before reading the element.

See all articles