本文共 2811 字,大约阅读时间需要 9 分钟。
通过前面五篇文章的学习,Python 的基础语法已经掌握得差不多了。为了让知识更加扎实,我们来做一个简单的实战项目。这个项目将帮助我们巩固对数据处理流程的理解,同时也能为后续学习打下坚实的基础。
data_project1.csv 中读取数据。comment 和 price 字段清洗成数字。commentlist 拆分成三个字段,并清洗成数字。.pkl 文件。import osos.chdir('E:\\pythonExe\\project1\\')with open('data_project1.csv', 'r', encoding='utf8') as f: data_p1 = f.readlines()[1:]for line in data_p1: print(line.split(',')) def comm_clean(s): if '条' not in s: return '数据缺失' else: return int(s.split(' ')[0]) def commentlist_clean(s): lst = s.split(' ', 3) if len(lst) == 3: quality = float(lst[0][2:]) env = float(lst[1][-3:]) serv = float(lst[2][-4:]) return [quality, env, serv] else: return ['数据缺失', '数据缺失', '数据缺失'] data_list = []count = 0for line in data_p1: data = line.split(',') if len(data) < 7: continue classify = data[0] name = data[1] comment = comm_clean(data[2]) star = data[3] price = price_clean(data[4]) address = data[5] lst = commentlist_clean(data[-1]) if '数据缺失' not in lst: count += 1 data_dict = { 'classify': classify, 'name': name, 'comment': comment, 'star': star, 'price': price, 'address': address, 'quality': lst[0], 'env': lst[1], 'serv': lst[2] } data_list.append(data_dict)print(f'成功加载{count}条数据')print(data_list) import picklewith open('E:/pythonExe/project1/data_project1.pkl', 'wb') as pic: pickle.dump(data_list, pic)print("搞定") 有数字 5、6、7、8、9(共5个数字),能组成多少个互不相同且无重复数字的两位数?以下是这些两位数:
56, 57, 58, 59, 65, 67, 68, 69, 75, 76, 78, 79, 85, 86, 87, 89, 95, 96, 97, 98
def sort_num(x, y, z): x = int(input("请输入第一个数字:")) y = int(input("请输入第二个数字:")) z = int(input("请输入第三个数字:")) if x <= y <= z: print(x, y, z) else: print(z, x, y) def count_chars(s): word = '' while True: char = input("请输入字符(输入'exit'退出):") if char == 'exit': break word += char if char != '\n': if char.isalpha(): alpha_count += 1 elif char == ' ': space_count += 1 elif char.isdigit(): digit_count += 1 else: other_count += 1 print(f"字母:{alpha_count}, 空格:{space_count}, 数字:{digit_count}, 其他:{other_count}") 通过逆向推理可得:
转载地址:http://bxofk.baihongyu.com/