本系列文章通过 1000(一篇文章表示 1 个实例) 个实例 ,为读者提供较为详细的练习题目,以便读者举一反三,深度学习。本系列的文章涉及到 Python 知识点包括:Python 语言基础、运算符和表达式、语句和程序结构、列表和元组、字典和集合、字符串、正则表达式、函数、面向对象编程、模块和包、异常处理和程序调试、文件和目录操作、数据库编程、界面编程、网络编程、WEB 编程、进程和线程、网络爬虫、游戏编程等知识点,由易到难,由浅入深,一步步打下坚实的编程基础。
本系列文章涉及的算法包括搜索、回溯、递归、排序、迭代、贪心、分治和动态规划等,涉及的数据结构包括字符串、列表、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。
本系列文章是笔者为适应当前教育改革的创新要求,更好地践行语言类课程,满足实践教学与创新能力培养的需要,阅读大量书籍、各大互联网公司的面试算法、LintCode、LeetCode、九章算法和结合笔者近几年项目经验编写的系列文章,精选了 1000 个趣味性、实用性强的应用实例,从不同难度、不同算法、不同类型和不同数据结构等方面,将实际算法进行总结,希望为 Python 编程人员抛砖引玉。由于笔者经验与水平有限,博文中疏漏及不妥之处在所难免,衷心地希望各位读者在评论区多提宝贵意见及具体的修改建议,以便笔者进一步修改和完善。
需求:要求输入三个整数x、y、z,通过比较大小,找出其中最大的数。
知识点:比较运算符也称关系运算符,需要两个操作数,运算返回值是布尔值。在 Python 中,比较运算符共计 6 个,包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。如下表所示:
运 算 符 | 描 述 | 示 例 |
---|---|---|
> | 大于 | (10 > 20) # 返回 False |
< | 小于 | (10 < 20) # 返回 True |
>= | 大于等于 | (10 >= 20) # 返回 False |
<= | 小于等于 | (10 <= 20) # 返回 True |
== | 比较两个对象是否相等 | (10 == 20) # 返回 False |
!= | 比较两个对象是否不相等 | (10 != 20) # 返回 True |
注意事项如下:
示例代码如下:
# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:7.比较数字大小.py
@time:2021/01/18
"""
# 由于题目要求键盘输入,所以要使用input()函数
x = int(input("请输入x的值: ").strip()) # 输入变量x
y = int(input("请输入y的值: ").strip()) # 输入变量y
z = int(input("请输入z的值: ").strip()) # 输入变量z
if x > y and x > z: # 如果x是最大数
print(f"三个数中最大的值为: {x}") # 输出x的值
elif y > z: # 如果x不是最大数,而且y比z大
print(f"三个数中最大的值为: {y}") # 输出y的值
else: # 条件都不成立,z就是最大数
print(f"三个数中最大的值为: {z}") # 输出z的值
程序运行结果如下:
在上面示例的基础上将输入的三个数按照从小到大的顺序输出,完整代码如下:
# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:7-1.比较数字大小(从小到大输出).py
@time:2021/01/18
"""
# 由于题目要求键盘输入,所以要使用input()函数
x = int(input("请输入x的值: ").strip()) # 输入变量x
y = int(input("请输入y的值: ").strip()) # 输入变量y
z = int(input("请输入z的值: ").strip()) # 输入变量z
if x > y: # 如果x大于y,交换x和y的值
t = x
x = y
y = t
if x > z: # 如果x大于z,交换x和z的值
t = z
z = x
x = t
if y > z: # 如果y大于z,交换y和z的值
t = y
y = z
z = t
print(f"三个数的大小顺序是:{x},{y},{z}") # 经过交换,x、y、z就按从小到大排好序了
需求:要求用户输入三个字符串,并比较出这三个字符串的大小。两个字符串比较大小时,是按照从左到右的顺序,依次比较相应位置的字符的 ASCII 码值的大小。程序运行效果如下:
示例代码如下:
# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:8.比较字符串大小.py
@time:2021/01/19
"""
str1 = input("input string: ").strip() # 接收字符串
str2 = input("input string: ").strip() # 接收字符串
str3 = input("input string: ").strip() # 接收字符串
print(f"before sorted: {str1} {str2} {str3}") # 打印排序前的字符串的顺序
if str1 > str2: # 判断两个字符串的大小
str1, str2 = str2, str1 # 这样str1留下的就是较小值
if str1 > str3:
str1, str3 = str3, str1 # 这样str1就是最小值了
if str2 > str3:
str2, str3 = str3, str2
print(f"after sorted: {str1} {str2} {str3}")
需求:设计一个简单的程序,计算学生语文成绩的平均分,筛选出优秀生名单,输出最高分,程序运行结果如下所示:
示例代码如下:
# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:9.统计和筛选学生成绩.py
@time:2021/01/19
"""
china = {
"张三": 89,
"李四": 76,
"王五": 95,
"赵六": 64,
"候七": 86,
}
grade_sum = 0 # 总分,初始为0
grade_max = 0 # 最高分,初始为0
max_name = "" # 最高分学生姓名,初始为空
print("语文优秀生名单: ")
for i in china: # 迭代成绩表
grade_sum += china[i] # 汇总分数
if china[i] >= 85: # 如果成绩大于等于85,则为优秀生
print(f"\t{i}({china[i]})")
if china[i] > grade_max: # 过滤最高分
grade_max = china[i] # 记录最高分
max_name = i # 记录最高分的学生姓名
print() # 空行
print(f"语文平均分: {grade_sum / len(china):.2f}") # 输出平均分
print(f"语文最高分: {grade_max}({max_name})") # 输出最高分
总结:在上面的代码中,使用字典结构记录学生成绩,通过 len() 函数获取字典中包含学生的总人数。
感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!
好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请点赞
、评论
、收藏
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注
我哦!