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()
当然应该还有更多的实现方法,本文只是提供一个思路,希望大家集思广益