Python 编程1000例(11):数字组合、小球反弹运动

文章目录

  • 一、数字组合
  • 二、小球反弹运动

本系列文章通过 1000(一篇文章表示 1 个实例) 个实例 ,为读者提供较为详细的练习题目,以便读者举一反三,深度学习。本系列的文章涉及到 Python 知识点包括:Python 语言基础、运算符和表达式、语句和程序结构、列表和元组、字典和集合、字符串、正则表达式、函数、面向对象编程、模块和包、异常处理和程序调试、文件和目录操作、数据库编程、界面编程、网络编程、WEB 编程、进程和线程、网络爬虫、游戏编程等知识点,由易到难,由浅入深,一步步打下坚实的编程基础。

本系列文章涉及的算法包括搜索、回溯、递归、排序、迭代、贪心、分治和动态规划等,涉及的数据结构包括字符串、列表、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。

本系列文章是笔者为适应当前教育改革的创新要求,更好地践行语言类课程,满足实践教学与创新能力培养的需要,阅读大量书籍、各大互联网公司的面试算法、LintCode、LeetCode、九章算法和结合笔者近几年项目经验编写的系列文章,精选了 1000 个趣味性、实用性强的应用实例,从不同难度、不同算法、不同类型和不同数据结构等方面,将实际算法进行总结,希望为 Python 编程人员抛砖引玉。由于笔者经验与水平有限,博文中疏漏及不妥之处在所难免,衷心地希望各位读者在评论区多提宝贵意见及具体的修改建议,以便笔者进一步修改和完善。

一、数字组合

需求:计算由1、2、3、4 这 4 个数字组成的每位数字不一样的三位数。案例效果如下图所示:
Python 编程1000例(11):数字组合、小球反弹运动_第1张图片
案例完整代码如下所示:

# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:23.数字组合.py
@time:2021/01/28
"""

for i in range(1, 5):  # 百位数字
    for j in range(1, 5):  # 十位数字
        for k in range(1, 5):  # 个位数字
            if i != j and i != k and j != k:  # 都不相等
                print(i * 100 + j * 10 + k, end=" ")  # 输出该数字组合的三位数

二、小球反弹运动

需求:假设有一个小球,从 100 米高空自由落下,每次落地后反跳回原高度的一半在落下,求当小球第 10 次落地时,共运行了多少米?第 10 次反弹的高度是多少?演示效果如下图所示:
Python 编程1000例(11):数字组合、小球反弹运动_第2张图片
案例完整代码如下所示:

# -*- coding: UTF-8 -*-
"""
@author:AmoXiang
@file:24.小球反弹运动.py
@time:2021/01/28
"""

height = 100  # 定义起始高度
sum_dis = 0  # 定义反弹经过的总距离
tim = 10  # 定义反弹的次数
for i in range(1, tim + 1):  # 遍历反弹的次数
    if i == 1:
        sum_dis = height  # 从第1次开始,落地时的距离
    else:
        sum_dis += height * 2  # 从第2次开始,落地时的距离应该是反弹到最高点的高度乘以2
    height /= 2  # 计算下次的高度

print(f"总距离: sum={sum_dis}")  # 打印反弹经过的总距离
print(f"第 10 次反弹高度: height={height}")  # 打印第10次反弹的高度

感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


在这里插入图片描述

    好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

你可能感兴趣的:(Python,基础练习,数据结构,算法,python,基础练习)