python打印金字塔_Python输出正金字塔

python打印金字塔_Python输出正金字塔方法一 使用 for 循环 pythondef print pyramid rows for i in range rows print rows i 1 2 i 1 num rows int input 请输入金字塔的行数 print pyramid num rows 方法二 使用 while 循环

方法一:使用for循环

 def print_pyramid(rows): for i in range(rows): print(' ' * (rows - i - 1) + '*' * (2 * i + 1)) num_rows = int(input("请输入金字塔的行数: ")) print_pyramid(num_rows) 

方法二:使用while循环

 def print_pyramid(rows): i = rows while i > 0: print(' ' * (rows - i) + '*' * (2 * i - 1)) i -= 1 num_rows = int(input("请输入金字塔的行数: ")) print_pyramid(num_rows) 

方法三:使用递归

 def print_pyramid(rows, current_row=1): if current_row > rows: return print(' ' * (rows - current_row) + '*' * (2 * current_row - 1)) print_pyramid(rows, current_row + 1) num_rows = int(input("请输入金字塔的行数: ")) print_pyramid(num_rows) 

方法四:使用turtle库

 import turtle def draw_pyramid(length, depth): if depth == 0: for _ in range(3): turtle.forward(length) turtle.left(120) else: draw_pyramid(length / 2, depth - 1) turtle.forward(length / 2) draw_pyramid(length / 2, depth - 1) turtle.backward(length / 2) turtle.left(60) turtle.forward(length / 2) turtle.right(60) draw_pyramid(length / 2, depth - 1) turtle.left(60) turtle.backward(length / 2) turtle.right(60) turtle.speed('fastest') draw_pyramid(100, 5) turtle.done() 

建议

选择合适的方法:

根据你的需求和编程经验选择合适的方法。对于简单的金字塔,使用for循环或while循环就足够了。对于更复杂的图形,可以考虑使用递归或turtle库。

输入验证:

在实际应用中,建议对用户输入进行验证,确保输入的行数是正整数。

优化代码:

对于递归方法,可以考虑添加一个参数来控制最大递归深度,以避免栈溢出。

希望这些方法对你有所帮助!如果有任何问题或需要进一步的优化,请随时告诉我。

编程小号
上一篇 2025-02-05 22:20
下一篇 2024-12-22 08:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/130446.html