一、打印一个简单版圣诞树

实现如下:

#     *
#    ***
#   *****
#  *******
# *********
#     *
#     *
#     *

代码:

for i in range(1,9):# 小于六层时if i<6:# 根据层数变化打印空格for j in range(1,7-i):print(" ",end='')# 根据层数变化打印星号for k in range(1,i*2):print("*",end='')# 大于六层时else:print("     *",end="")print()

详解:

一共八层,最外层循环 [1,9)。

里面分为两种情况,一种是小于6的情况,另一种是大于6的情况。

小于6时,输出树上部分。树上部分,每加一层,空格少一个,星号则是加两个;树干部分就是足够的空格+ 星号

二、打印一个稍复杂的圣诞树

实现如下:

#              *
#             ***
#            *****
#           *******
#             ***
#           *******
#         ***********
#       ***************
#          *********
#       ***************
#    *********************
# ***************************
#             |||
#             |||
#             |||
# ———————————————————————————

代码:

# 打印树上部分
# 外三层
for i in range(1,4):t=3**(i-1)+1# 根据星号个数,算出打印空格的个数for space in range(1, floor(14 - t / 2)):print(" ", end='')# 打印第一行的 * 号for j in range(1,t):print("*",end='')print()# 循环实现剩下三行for k in range(1, 4):# 根据星号个数,算出打印空格的个数for space in range(1,floor(14- (t + (i*2)*k)/2)):print(" ",end='')# 根据第一行,打印剩下行的 * 号for n in range(1, t + (i*2)*k):print("*", end="")print()
# 树干
for i in range(1,4):for j in range(1,14-floor(3/2)):print(" ",end='')print("|||")
# 泥土
for i in range(1,28):print('-',end='')

详解: 

        一步步分解拆开,使得思路清晰。

分三大部分:树上部分、树干、泥土。

树上部分:

先分成三层,每层按顺序打印第一行空格(根据第一行星号数量,找出空格规律)、第一行星号,根据第一行打印出剩下几行的空格(根据第几行星号数量,找出空格规律)、剩下几行星号。

第一层的第一行是1个星号,第二层的第一行是3个星号,第三层的第一行是9个星号。

规律是 [1,3**(i-1)+1) 。空格则是总数14-floor(  (3**(i-1)+1)  /2)。

剩下几行规律是:

第一行星号数+层数*行数*2=行的星号数。即  (3**(i-1)+1)+i*k*2  个星号。

空格则是总数14-floor(  ((3**(i-1)+1)+i*k*2)  /2)。

其他部分:

实现方法太简单了,自行理解。

python打印圣诞树思路+详解简单粗暴实现相关推荐

  1. python打印小星星案例详解_音乐案例 《小星星》

    音乐活动<小星星> 设计意图: <小星星>这首歌,是一首经典的老歌,深受孩子们的喜爱.而三岁幼儿喜欢听童话故 事,我希望幼儿能在故事引导下自然投入表演及学会唱歌,并在熟悉歌曲的 ...

  2. 【蓝桥杯Python组】2022年第十三届蓝桥杯省赛B组Python解题思路详解

    第十三届蓝桥杯省赛B组Python解题思路详解 因为今年采用线上的举办方式进行比赛,所以组委会对题目做了一定的调整,将原来的5道填空+5道编程题变成了2道填空+8道编程题,据说是为了防止抄袭.其实题目 ...

  3. 循环嵌套思路详解 | 一个“在盒子里过家家”的算法 -- 以冒泡排序与打印菱形为例

    目录 前言 一.引例 -- 菱形打印 1. 题干要求 2. 如何阅读循环结构? 二."在盒子里过家家"的理解思路 1. 什么叫"在盒子里过家家"? 一个小例子 ...

  4. python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...

    其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...

  5. python正则表达式提取数字比较好_python正则表达式从字符串中提取数字的思路详解...

    python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始. ## $ 匹配字符串的结尾. ## \b 匹配一个单词的边界. ## \d 匹配任意数字. ## ...

  6. python处理excel大数据-Python实现大数据收集至excel的思路详解

    一.在工程目录中新建一个excel文件 二.使用python脚本程序将目标excel文件中的列头写入,本文省略该部分的code展示,可自行网上查询 三.以下code内容为:实现从接口获取到的数据值写入 ...

  7. python virtualenv conda_在vscode中启动conda虚拟环境的思路详解

    问题:cudatoolkit cudnn 通过conda 虚拟环境安装,先前已经使用virtualenv安装tf,需要在conda虚拟环境中启动外部python虚拟环境 思路:conda prompt ...

  8. python统计汉字字数_Python 统计字数的思路详解

    问题描述: 用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 n 个出现频率最高的单词.返回值是一个元组列表,包含出现次数最高的 n 个单词及其次 ...

  9. python逢7跳过_python实现逢七拍腿小游戏的思路详解

    逢七拍腿游戏 几个小朋友在一起玩逢七拍腿的游戏,从1开始数数,当数到7的倍数或者尾号是7时,拍一下腿.现在从1数到99,假设每个人都没有错,计算一下共要拍腿几次? 第一种实现思路:通过在for循环语句 ...

最新文章

  1. 「AI不惑境」残差网络的前世今生与原理
  2. 微信小程序把玩(二十八)image组件
  3. 已解决:Connecting to raw.githubusercontent.com |185.199.109.133|:443... Unable to establish SSL connect
  4. 订单可视化(智能制造、流程再造、企业信息化) 第五篇 团队建设
  5. 神经网络贷款风险评估(base on keras and python ) 原创 2017年08月18日 14:35:17 标签: python / 神经网络 / keras 300 用我
  6. php new对象 调用函数,关于JS中new调用函数的原理介绍
  7. 互联网1分钟 | 1015
  8. spring boot整合freemarker及freemarker基础语法超详细讲解
  9. django language_第 58 天:Python Web开发 Django 简介
  10. 会员登录 php,php $_SESSION会员登录实例分享
  11. IQ推理:P先生和Q先生
  12. 使用phpmyadmin管理远程sql_CentOS7系统配置phpMyAdmin
  13. 简略讲述我的Fiddler的安转和配置过程
  14. catia三维轴承_基于CATIA的轴承三维参数化标准件库的开发
  15. Linux/ubuntu AWK / BEGIN / END的用法
  16. 2020年手机上最好的25种免费游戏
  17. 数仓中的维度、原子指标、派生指标、衍生指标、指标分类、缓慢变化维等的含义
  18. 高仿富途牛牛-组件化(一)-支持页签拖拽、增删、小工具
  19. 每日10行代码82:网上购物活动满减凑单计算器
  20. HDFS分布式文件系统架构

热门文章

  1. 微信小程序做一个圆形图片旋转可以控制开始和结束-音乐播放器的图片旋转功能
  2. 零基础转行做数据分析师真的可以吗?
  3. 如何计算光伏电站的⼆氧化碳减排量
  4. Hyperledger Fabric V1.0– 开发者快速入门
  5. H5在iphone移动端如何实现真机调试
  6. openpyxl中读大批量数据的方法——Optimized reader
  7. vue-cli禁用jslint
  8. 内网穿透 ngrok 服务器和客户端配置
  9. Excel VBA中判断word文件是否打开,未打开则打开该文件
  10. 高德地图线路规划+导航