python经典百题之打印楼梯

方法一:使用循环打印

思路:使用两个for循环,分别控制打印楼梯和笑脸的位置,其中,外层循环控制楼梯行数,内层循环控制每行打印的*号数。

代码:

复制代码
# 打印楼梯
for i in range(1, 6):
  print("*" * i)

# 打印笑脸
print("  **   **")
print(" *  * *  *")
print("*    *    *")
print("*         *")
print("*    *    *")
print(" *  * *  *")
print("  **   **")

方法二:使用递归打印

思路:使用递归函数,控制打印楼梯的行数和每行的*号数,打印完楼梯后再通过打印函数打印笑脸。

代码:

复制代码
# 定义递归函数打印楼梯
def print_stair(n):
  if n <= 0:
    return
  print_stair(n-1)
  print("*" * n)

# 打印楼梯
print_stair(5)

# 打印笑脸
def print_smile():
  print("  **   **")
  print(" *  * *  *")
  print("*    *    *")
  print("*         *")
  print("*    *    *")
  print(" *  * *  *")
  print("  **   **")

print_smile()

方法三:使用列表推导式打印

思路:使用列表推导式,控制打印楼梯的行数和每行的*号数,打印完楼梯后再通过打印函数打印笑脸。

代码:

复制代码
# 打印楼梯
stair_list = ["*" * i for i in range(1, 6)]
print("\n".join(stair_list))

# 打印笑脸
def print_smile():
  print("  **   **")
  print(" *  * *  *")
  print("*    *    *")
  print("*         *")
  print("*    *    *")
  print(" *  * *  *")
  print("  **   **")

print_smile()

当然应该还有更多的实现方法,本文只是提供一个思路,希望大家集思广益

相关推荐
喵手7 分钟前
Python爬虫实战:构建各地统计局数据发布板块的自动化索引爬虫(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集数据csv导出·采集各地统计局数据发布数据·统计局数据采集
寻寻觅觅☆28 分钟前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx39 分钟前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列
天天爱吃肉82181 小时前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车
zh_xuan1 小时前
kotlin lazy委托异常时执行流程
开发语言·kotlin
m0_715575341 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
甄心爱学习1 小时前
【leetcode】判断平衡二叉树
python·算法·leetcode
深蓝电商API1 小时前
滑块验证码破解思路与常见绕过方法
爬虫·python
阿猿收手吧!1 小时前
【C++】string_view:高效字符串处理指南
开发语言·c++
Ulyanov1 小时前
Pymunk物理引擎深度解析:从入门到实战的2D物理模拟全攻略
python·游戏开发·pygame·物理引擎·pymunk