python3 員工信息表

来源:https://www.cnblogs.com/xf1262048067/archive/2019/04/19/10739410.html
-Advertisement-
Play Games

這是最後一條NLP了......來吧 十二,動機和情緒總不會錯,只是行為沒有效果而已 動機在潛意識裡,總是正面的。潛意識從來不會傷害自己,只會誤會的以為某行為可以滿足該動機,而又不知道有其他做法的可能。 情緒總是給我們一份推動力,情緒使我們在該事情之中有所學習,學到了,情緒便會消失。 我們可以接受一 ...


這是最後一條NLP了......來吧

十二,動機和情緒總不會錯,只是行為沒有效果而已

  動機在潛意識裡,總是正面的。潛意識從來不會傷害自己,只會誤會的以為某行為可以滿足該動機,而又不知道有其他做法的可能。

  情緒總是給我們一份推動力,情緒使我們在該事情之中有所學習,學到了,情緒便會消失。

  我們可以接受一個人的動機和情緒,同時不接受他的行為。

  接受動機和情緒,便是接受那個人,那個人也會感覺出你對他的接受,因而更肯讓你去引導他做出改變。

  任何一次行為不等於一個人。

  行為不能接受,是因為沒有效果,找出更好的做法,是兩個人共同的目標,能使兩個人有跟好的溝通和關係。

  找出更好的做法的方法之一是追查動機背後的價值觀。

  


 

員工信息表

題目:

接下來是代碼了,哇果然是敲著敲著就發現好多以前從來沒註意的東西,好多細節。

staff_list文件如下:

1,alex,22,13651054608,IT
2,egon,23,133043202533,teacher
3,nezha,25,1333235322,IT
代碼:
  1 #!usr/bin/env/ python
  2 # -*- coding:utf-8 -*-
  3 # Author: XiaoFeng
  4 import os
  5 li = ["id", "name", "age", "phone", "job"]
  6 flag = False
  7 staff_id = None
  8 number = "xiaofeng"
  9 word = "123456"
 10 
 11 
 12 def login(func):
 13     def inner():
 14         global flag
 15         if not flag:
 16             print("如想操作員工信息,請先等錄:")
 17             account = input("請輸入您的賬號:").strip()
 18             password = input("請輸入您的密碼:").strip()
 19             if account == number and password == word:
 20                 flag = True
 21                 print("登陸成功!")
 22                 res = func()
 23                 return res
 24             else:
 25                 print("賬號或密碼錯誤,登陸失敗!")
 26         else:
 27             res = func()
 28             return res
 29     return inner
 30 
 31 
 32 def handle(content_1):
 33     if "select" or "set" in content_1 and "where" in content_1:
 34         info_start = content_1.index("t") + 1
 35         info_end = content_1.index("where") - 1
 36         info = content_1[info_start:info_end].strip()
 37         condition = content_1[info_end + 6:].strip()
 38         return info, condition
 39     else:
 40         print("輸入錯誤!")
 41 
 42 
 43 def seek():
 44     content = input("請輸入操作:(如select name, age where age>22)").strip().lower()
 45     if content.startswith("select") and "where" in content:
 46         handle_str_1 = handle(content)
 47         out_list = []
 48         for p in li:
 49             if p in handle_str_1[1]:
 50                 if ">" in handle_str_1[1]:
 51                     info_list = handle_str_1[0].split(",")
 52                     str_info = " ".join(info_list)
 53                     info_list = str_info.split()             # 去字元串內空格
 54                     index_0 = handle_str_1[1].index(">")
 55                     character = handle_str_1[1][:index_0].strip()
 56                     num = handle_str_1[1][index_0 + 1:].strip()
 57                     if num.isdigit():
 58                         num = int(num)
 59                         with open("staff_list", "r", encoding="utf-8") as f:
 60                             for line in f:
 61                                 if not line.isspace():
 62                                     line_list = line.strip().split(",")
 63                                     character_value = int(line_list[li.index(character)])
 64                                     if character_value > num:
 65                                         if handle_str_1[0].strip() == "*":
 66                                             out = " ".join(line_list)
 67                                             print(out)
 68                                             out_list.clear()
 69                                         else:
 70                                             for n in info_list:
 71                                                 out_list.append(line_list[li.index(n)])
 72                                             out = " ".join(out_list)
 73                                             print(out)
 74                                             out_list.clear()
 75                     else:
 76                         print("請輸入數字!")
 77                 elif "<" in handle_str_1[1]:
 78                     info_list = handle_str_1[0].split(",")
 79                     str_info = " ".join(info_list)
 80                     info_list = str_info.split()
 81                     index_1 = handle_str_1[1].index("<")
 82                     character = handle_str_1[1][:index_1].strip()
 83                     num = handle_str_1[1][index_1 + 1:].strip()
 84                     if num.isdigit():
 85                         num = int(num)
 86                         with open("staff_list", "r", encoding="utf-8") as f:
 87                             for line in f:
 88                                 if not line.isspace():
 89                                     line_list = line.strip().split(",")
 90                                     character_value = int(line_list[li.index(character)])
 91                                     if character_value < num:
 92                                         if handle_str_1[0].strip() == "*":
 93                                             out = " ".join(line_list)
 94                                             print(out)
 95                                             out_list.clear()
 96                                         else:
 97                                             for n in info_list:
 98                                                 out_list.append(line_list[li.index(n)])
 99                                             out = " ".join(out_list)
100                                             print(out)
101                                             out_list.clear()
102                     else:
103                         print("請輸入數字!")
104                 elif "=" in handle_str_1[1]:
105                     info_list = handle_str_1[0].split(",")
106                     str_info = " ".join(info_list)
107                     info_list = str_info.split()
108                     index_2 = handle_str_1[1].index("=")
109                     character = handle_str_1[1][:index_2].strip()
110                     num = handle_str_1[1][index_2 + 1:].strip()
111                     if num.isdigit():
112                         num = int(num)
113                         with open("staff_list", "r", encoding="utf-8") as f:
114                             for line in f:
115                                 if not line.isspace():
116                                     line_list = line.strip().split(",")
117                                     character_value = int(line_list[li.index(character)])
118                                     if num == character_value:
119                                         if handle_str_1[0].strip() == "*":
120                                             out = " ".join(line_list)
121                                             print(out)
122                                             out_list.clear()
123                                         else:
124                                             for n in info_list:
125                                                 out_list.append(line_list[li.index(n)])
126                                             out = " ".join(out_list)
127                                             print(out)
128                                             out_list.clear()
129                     else:
130                         with open("staff_list", "r", encoding="utf-8") as f:
131                             for line in f:
132                                 if not line.isspace():
133                                     line_list = line.strip().split(",")
134                                     character_value = line_list[li.index(character)]
135                                     if num == character_value:
136                                         if handle_str_1[0].strip() == "*":
137                                             out = " ".join(line_list)
138                                             print(out)
139                                             out_list.clear()
140                                         else:
141                                             for n in info_list:
142                                                 out_list.append(line_list[li.index(n)])
143                                             out = " ".join(out_list)
144                                             print(out)
145                                             out_list.clear()
146                 elif "like" in handle_str_1[1]:
147                     info_list = handle_str_1[0].split(",")
148                     str_info = " ".join(info_list)
149                     info_list = str_info.split()
150                     index_3 = handle_str_1[1].index("like")
151                     character = handle_str_1[1][:index_3].strip()
152                     num = handle_str_1[1][index_3 + 4:].strip()
153                     with open("staff_list", "r", encoding="utf-8") as f:
154                         for line in f:
155                             if not line.isspace():
156                                 line_list = line.strip().split(",")
157                                 character_value = line_list[li.index(character)]
158                                 if num in character_value:
159                                     if handle_str_1[0].strip() == "*":
160                                         out = " ".join(line_list)
161                                         print(out)
162                                         out_list.clear()
163                                     else:
164                                         for n in info_list:
165                                             out_list.append(line_list[li.index(n)])
166                                         out = " ".join(out_list)
167                                         print(out)
168                                         out_list.clear()
169                 else:
170                     print("\033[31;1m您輸入的條件不符合規範!\033[0m")
171     else:
172         print("請輸入正確的操作語句!")
173 
174 
175 @login
176 def add():
177     global staff_id
178     if not staff_id:
179         if os.path.getsize("staff_list") == 0:
180             staff_id = 0
181         else:
182             d = 0
183             with open("staff_list", "r", encoding="utf-8") as f:
184                 for line in f:
185                     if not line.isspace():
186                         line_list = line.strip().split(",")
187                         print(line_list)
188                         if line_list[0]:
189                             d = line_list[0]
190                             print(d)
191             staff_id = int(d)
192     print("\033[41;1m請按提示輸入信息\033[0m".center(39, "*"))
193     new_staff = []
194     for a in li[1:]:
195         staff_info = input("請輸入新員工的%s:" % a).strip()
196         new_staff.append(staff_info)
197     new_staff_str = ",".join(new_staff)
198     staff_id += 1
199     id_str = str(staff_id)
200     final_str = id_str + "," + new_staff_str + "\n"
201     with open("staff_list", "a", encoding="utf-8") as f:
202         f.write(final_str)
203     print("您添加的信息為:{}".format(final_str))
204 
205 
206 @login
207 def delete():
208     id_delete = input("請輸入要刪除員工的id號:")
209     with open("staff_list", "r", encoding="utf-8") as f1, \
210             open("staff_list_bak", "w", encoding="utf-8") as f2:
211         for line in f1:
212             if not line.isspace():
213                 line_list = line.strip().split(",")
214                 if id_delete == line_list[0]:
215                     continue
216             f2.write(line)
217     os.remove("staff_list")
218     os.rename("staff_list_bak", "staff_list")
219     print("刪除成功!")
220 
221 
222 @login
223 def modify():
224     content = input("請輸入要修改的內容(如set 列名=“新的值” where id=x)").strip()
225     handle_str = handle(content)
226     info_list = handle_str[0].split(",")
227     str_info = " ".join(info_list)
228     info_list = str_info.split()       # 去字元串內空格
229     index_2 = handle_str[1].index("=")
230     character = handle_str[1][:index_2].strip()
231     num = handle_str[1][index_2 + 1:].strip()
232     if num.isdigit():
233         num_int = int(num)
234         with open("staff_list", "r", encoding="utf-8") as f1, \
235                 open("staff_list_bak", "w", encoding="utf-8") as f2:
236             for line in f1:
237                 if not line.isspace():
238                     line_list = line.strip().split(",")
239                     character_value = int(line_list[li.index(character)])
240                     if num_int == character_value:
241                         for c in info_list:
242                             index_1 = c.index("=")
243                             set_key = c[:index_1].strip()
244                             set_value = c[index_1 + 1:].strip()
245                             line_list[li.index(set_key)] = set_value
246                             line = ",".join(line_list)
247                 f2.write(line)
248         os.remove("staff_list")
249         os.rename("staff_list_bak", "staff_list")
250     else:
251         print("請輸入正確語句!")
252 
253 
254 operate_list = ["查找", "新增", "刪除", "修改"]
255 while True:
256     print("-" * 50)
257     for index, i in enumerate(operate_list):
258         print(index, "\t", i)
259     choice = input("請輸入您個的選擇編號:").strip()
260     if choice.isdigit() and choice == "0":
261         seek()
262     elif choice.isdigit() and choice == "1":
263         add()
264     elif choice.isdigit() and choice == "2":
265         delete()
266     elif choice.isdigit() and choice == "3":
267         modify()
268     else:
269         print("請按要求輸入編號")

 





您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 單一職責原則SRP (Single reponsibility principle) BO(Business Object) :業務對象 Biz(Business Logic) :業務邏輯 SRP最簡單的例子:用戶信息維護類 單一職責原則SRP定義 應該有且僅有一個原因引起類的變更。( 一個介面只有 ...
  • [TOC] 在學習Observer觀察者模式時發現它符合敏捷開發中的OCP開放 封閉原則, 本文通過一個場景從差的設計開始, 逐步向Observer模式邁進, 最後的代碼能體現出OCP原則帶來的好處, 最後分享Observer模式在自己的項目中的實現. 場景引入 在一戶人家中, 小孩在睡覺, 小孩睡 ...
  • 1.什麼是spring IOC IOC(Inversion of Control)即控制反轉,在我們以往的編程中如果需要一個bean往往需要去手動去new一個出來。而spring幫我們解決了這個問題,在spring中我們只需要去定義bean,spring就會自動的幫我們實例化並管理Bean。而這些B ...
  • 控制台編程中,使用了滑鼠操作,遇到了控制台無法接收到滑鼠消息的問題,可嘗試一下辦法解決 【win10系統】 在控制台標題欄右鍵-預設值-選項,將一下對勾取消 然後調用如下函數: HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE); SetConsoleMode(h ...
  • 一、網路簡介 網路是由節點和連線構成,表示諸多對象及其相互聯繫。 一個人玩: 兩個人玩: 多個人玩: 說明 網路就是一種輔助雙方或者多方能夠連接在一起的工具 如果沒有網路可想單機的世界是多麼的孤單 使用網路的目的 就是為了聯通多方然後進行通信用的,即把數據從一方傳遞給另外一方 前面的學習編寫的程式都 ...
  • Django 模板 === [toc] 模板按照我的理解,就是讓html中內容不固定,讓html內容已後端的方式動態起來(雖然前端mvvm框架也也開始有模板概念,所以廣義說模板概念不限於後端)。但是html基礎的內容還是是固定的。模板通過類編程的模板語法,可以將html模板中的動態內容,通過後端程式 ...
  • 原創不易,如需轉載,請註明出處 "https://www.cnblogs.com/baixianlong/p/10739579.html" ,希望大家多多支持!!! 一、線程基礎 1、線程與進程 線程是指進程中的一個執行流程,一個進程中可以運行多個線程。 進程是指一個記憶體中運行的應用程式,每個進程都 ...
  • 項目文件 01_QtTest.pro 頭文件 mywidget.h 源文件 main.cpp mywidget.cpp 結果顯示 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...