本系列文章通过 1000(一篇文章表示 1 个实例) 个实例 ,为读者提供较为详细的练习题目,以便读者举一反三,深度学习。本系列的文章涉及到 Python 知识点包括:Python 语言基础、运算符和表达式、语句和程序结构、列表和元组、字典和集合、字符串、正则表达式、函数、面向对象编程、模块和包、异常处理和程序调试、文件和目录操作、数据库编程、界面编程、网络编程、WEB 编程、进程和线程、网络爬虫、游戏编程等知识点,由易到难,由浅入深,一步步打下坚实的编程基础。
本系列文章涉及的算法包括搜索、回溯、递归、排序、迭代、贪心、分治和动态规划等,涉及的数据结构包括字符串、列表、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。
本系列文章是笔者为适应当前教育改革的创新要求,更好地践行语言类课程,满足实践教学与创新能力培养的需要,阅读大量书籍、各大互联网公司的面试算法、LintCode、LeetCode、九章算法和结合笔者近几年项目经验编写的系列文章,精选了 1000 个趣味性、实用性强的应用实例,从不同难度、不同算法、不同类型和不同数据结构等方面,将实际算法进行总结,希望为 Python 编程人员抛砖引玉。由于笔者经验与水平有限,博文中疏漏及不妥之处在所难免,衷心地希望各位读者在评论区多提宝贵意见及具体的修改建议,以便笔者进一步修改和完善。
一、统计字符
需求:设计一个字符串,利用字典的方法统计出每个字符出现的次数。案例演示效果如下:
示例代码如下:
# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:25.统计字符.py
@time:2021/01/30
"""
test_str = "hello docker" # 定义字符串
test_str = test_str.replace(" ", "") # 去除字符串中的空格
dic = dict() # 定义空字典
for char in test_str: # 遍历字符串
if char in dic: # 字典有这个key
dic[char] += 1 # 该字符的值自增
else: # 字典没有该字符
dic[char] = 1 # 初始化字符值
for key, value in dic.items(): # 遍历字典
print(key, value) # 打印结果
二、用户登录系统
需求:创建一个字典对象,用来保存用户名和密码,通过接收用户输入的用户名,判断该用户是否存在。如果不存在,则提示创建用户;如果存在,则提示输入密码。当密码输入正确时,显示登录系统;当密码输入不正确时,提示还有几次机会。案例演示效果如下:
示例代码如下:
# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:27.用户登录系统.py
@time:2021/01/30
"""
users = {
"张三": "123456", "李四": "111111", "王五": "234567"} # 用户字典,保存用户名和密码
count = 2 # 输入密码的次数
while True: # 循环使用系统
print("*" * 40)
name = input("欢迎登陆系统! \n请输入用户名:") # 接收用户名
if name in users: # 用户是否存在
while count >= 0: # 3次输入密码机会
password = input("请输入密码:").strip() # 接收密码
if users[name] == password: # 密码正确
print("登录成功!")
break
else:
print(f"密码输入错误!你还有{count}次机会") # 剩余密码次数
count -= 1 # 密码次数-1
else:
print("您的次数已经用完!再见!")
break # 密码次数用完或成功退出系统
else:
flag = input("用户名不存在!\n是否创建用户[y/n]:").strip() # 是否创建用户
if flag == "y": # 创建用户
while True: # 用户创建失败时,执行循环
name = input("请创建用户名:").strip() # 接收用户名
if name in users: # 创建用户已存在
print("用户已存在!")
else:
password = input("请设置密码:").strip()
re_password = input("请确认密码:").strip()
if password == re_password: # 两次密码输入正确
users[name] = password # 添加用户信息
print("用户创建成功!")
break # 成功创建,退出创建循环
else:
print("两次密码输入不一致!")
else: # 不创建用户
print("欢迎再次使用系统!再见!")
break
三、不重复的随机数
需求:输入想要获得不重复随机数的个数和随机数的范围,输出该随机数生成的集合。案例演示效果如下图所示:
示例代码如下:
# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:26.不重复的随机数.py
@time:2021/01/30
"""
import random # 导入随机模块
max_num = int(input("请输入随机数的范围:").strip()) # 数值范围
num = int(input("请输入随机数的个数:").strip()) # 随机数个数
e_set = set() # 定义空集合
while len(e_set) < num: # 循环生成随机数
temp_num = random.randint(1, max_num) # 生成范围内的随机数
e_set.add(temp_num) # 将不重复的随机数添加到集合中
print(e_set) # 打印集合
感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!
好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请点赞
、评论
、收藏
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注
我哦!扫描二维码关注公众号,回复: 12426657 查看本文章