Employee management system + character code + Python code file operation
1. Employee management system
one point one debug code debugging
1. First click on the left side of the code to be debugged with the left mouse button (a red dot will appear)
2. Right click debug to run the code
one point two Employee management system
practice: # 2.Define an empty list to store user dictionary data user_data_list = [] # 1.After the code runs, you can cycle to prompt the user what function numbers can be selected # 2.View specified user data(Format the output and beautify it) # 3.Modify user's salary(by knowing one method you will know all) Modify user name and age # 4.View all user data(for Circular display) while True: print(""" 1.Add user 2.View user 3.delete user 4.Exit the system """) choice = input('Please enter the function number you want to perform>>>:') # Judge the number entered by the user if choice == '1': # 3.Get the user number first user_id = input('Please enter your number>>>:').strip() # 4.You should verify whether the user number already exists # 4.1.Loop to get each user dictionary for user_data_dict in user_data_list: # {'user_id': '1', 'name': 'jason', 'age': '18'} if user_data_dict['user_id'] == user_id: print('User number already exists') break # end for Cyclic check else: # 5.Get user related information name = input('Please enter your user name>>>:').strip() age = input('Please enter your age>>>:').strip() salary = input('Please enter your salary>>>:').strip() # 6.Construct a user dictionary tmp_dict = {} # 7.Create key value pairs tmp_dict["user_id"] = user_id tmp_dict["name"] = name tmp_dict["age"] = age tmp_dict["name"] = name # 8.Add to user list user_data_list.append(tmp_dict) # 9.Prompt user to add successfully print('user:%s Added successfully' % name) elif choice == '2': print(user_data_list) elif choice == '3': print('Delete user function') elif choice == '4': print('Exit system function') else: print('Sorry, we don't have this feature option at the moment')
2. Character coding
Character encoding is only related to files and strings, not video files, picture files, etc
What is character encoding?
Because the computer only recognizes binary, but users can see all kinds of language characters when using the computer
Character coding: data that internally records the corresponding relationship between human characters and numbers 0 and 1
3. Development history of character coding
1. One family dominates
The computer was originally invented by Americans in order to enable computers to recognize English characters
ASCII code: it records the corresponding relationship between English characters and numbers
One byte is the corresponding relationship. All English characters and symbols actually add up to no more than 127. The reason why eight bits are used is to find new languages later
There are two groups of correspondence that must be remembered: A-Z:65-90 a-z:97-122 0-9: 48 - 57
2. Separatist regime
Chinese
In order to enable the computer to recognize Chinese, we need to invent another set of coding table GBK Code: it records the corresponding relationship between English and Chinese and numbers. For English, it still uses one byte, and for Chinese, it uses two or more bytes.
In fact, two bytes are not enough to indicate that all Chinese words may need more bits to represent
Japanese
In order to enable computers to recognize Japanese, it is also necessary to invent a set of coding tables
shift_JIS Code: records the corresponding relationship between Japanese and English and numbers
Korean
In order to enable the computer to recognize Korean, it is also necessary to invent a set of coding table Euc_kr Code: it records the corresponding relationship between Korean and English and numbers
3. Unification of the world
In order to realize the barrier free communication of text data between different countries, it is necessary to unify the coding
Unicode (universal code)
Use two or more characters to record the corresponding relationship between characters and numbers
Utf8 (optimized version of universal code)
English is still stored in one byte, and Chinese is stored in three or more bytes
PS: now the default code is utf8
4. Character coding practice
1. How to solve the problem of garbled documents
The file was compiled in what code, and it was solved in what code when it was opened
2. Coding differences caused by different versions of Python interpreter
The encoding used internally in Python 2. X defaults to ASCII
# file header coding:utf8
In python2, a small us = u 'you' should be added in front of the defined string
python3.X Internal use utf8,Customize file template content file >>> settings >>> Editor >>> file and code templates >>> python script
3. Encoding and decoding
Code
Convert human readable characters into numbers according to the specified encoding
Decode
Convert numbers into characters that human beings can understand according to the specified coding
s = 'Don't think too much about it every day. It's over. Ollie, give it to me!!!' code res = s.encode('utf8') print(res, type(res)) # bytes stay python This type can be directly regarded as binary data in decode res1 = res.decode('utf8') print(res1)
5. File operation
1. What is a document?
Files are actually shortcuts (interfaces) that the operating system exposes to users to operate the hard disk
2. How the code operates the file keyword open() in three steps:
1. Open the file with the keyword open 2. Operate the file with other methods 3. Close the file
What are the file paths?
1. Relative path 2. Absolute path
The combination of letters and slashes in the path has a special meaning. How to cancel it, add an R in front of the path string , r'D:\py20\day08\a.txt'
open('a.txt') open(r'D:\py20\day08\a.txt') res = open('a.txt', 'r', encoding='utf8') print(res.read()) res.close() # Close file to free resourcesopen(File path,read-write mode,Character encoding) File path and read / write mode are required, and character encoding is optional(Some patterns need coding)
with context management (can automatically help you close)
with open(r'a.txt','r',encoding='utf8') as f1: # f1=open() f1.close() print(f1.read())
6. File read / write mode
PS: complement grammatical structure has no actual meaning pass
r read only mode (can only be viewed and cannot be changed)
path does not exist:Direct error reporting with open(r'b.txt', 'r', encoding='utf8') as f: pass Path exists with open(r'a.txt', 'r', encoding='utf8') as f: print(f.read()) # Read all the contents of the file f.write('123') # Write file content
w write only mode (write only, no view)
path does not exist:Path does not exist automatically created with open(r'b.txt', 'w', encoding='utf8') as f: pass
Path exists:1.The contents of the file will be emptied first 2.Then perform the write operation
with open(r'a.txt', 'w', encoding='utf8') as f:
f.read()
f.write('hello world!\n')
f.write('hello world!\n')
f.write('hello world!\n')
a append mode only (additional content)
a: if the path exists, the file pointer will be moved directly to the end of the file, and an empty document will be created when the file does not exist
1 #3. Add content, write function, utf8 The encoding mode turns on the current path a.txt file 2 res = open('a.txt', mode='a', encoding='utf8') 3 # input hello Content, clear the previous, I want to insist on learning python! 4 res.write(' world\n') 5 res.write('python\n') 6 # The file must be closed after operation to free up resources 7 res.close() 8 9 #result,stay a.txt Append to file world and python character 10 world 11 python
Small exercise (employee operating system)
1 print('''The functions of the employee management system are as follows: 2 1.Add user 3 2.View user 4 3.delete user 5 4.Exit the system\n''') 6 7 user_msg_list = [] 8 while True: 9 # 1 Get user number 10 choice = input('Enter function number:').strip() 11 choice = int(choice) 12 # 2 Judge which function the user selects 13 if choice == 1: 14 # 3 Get the personal number entered by the user 15 user_id = input('Please enter your personal number:').strip() 16 # Determine whether the input is correct 17 for full_dict in user_msg_list: 18 if full_dict['user_id'] == user_id: 19 print('This user number%s:Already exists'%user_id) 20 break 21 else: 22 pass 23 else: 24 # 4 Get user information 25 user_name = input('Please enter your name:').strip() 26 user_age = input('Please enter age:').strip() 27 user_salary = input('Please enter salary:').strip() 28 # 5.Create an empty dictionary 29 null_dic = {} 30 # 6.Add the information entered by the user to the empty dictionary 31 null_dic['user_id'] = user_id 32 null_dic['user_name'] = user_name 33 null_dic['user_age'] = user_age 34 null_dic['user_salary'] = user_salary 35 # 8. Add the input information from the dictionary to the list for query function query 36 user_msg_list.append(null_dic) 37 # 9.Prompt user to add successfully 38 print(f'user{user_name}Added successfully!') 39 elif choice == 2: 40 user_inp_id = int(input('User information query, enter the information to query id Number:').strip()) 41 if user_inp_id != 1: 42 print('Entered id No registered user, unable to find relevant data') 43 continue 44 second_dic = user_msg_list[user_inp_id - 1] 45 second_list = second_dic.keys() 46 for i in second_list: 47 print(f'{i}:{second_dic[i]}') 48 49 elif choice == 3: 50 user_id = input('Press 3 to delete all data:').strip() 51 if user_id == 3: 52 del user_msg_list 53 print('All user data deleted') 54 if user_id != 3: 55 print('Instruction error, please enter 3 to delete') 56 57 elif choice == 4: 58 user_id = input('Press 4 to exit the system:').strip() 59 if user_id == 4: 60 print('Has exited the system') 61 exit() 62 if user_id != 4: 63 print('Command error, please enter 4 to exit the system') 64 else: 65 print('There is no current service for the time being')