python 打印直角三角形,等边三角形,菱形,正方形的代码
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)

根据提供的文件内容,本文将详细解释如何使用Python编程语言绘制直角三角形、等边三角形、菱形以及正方形。这些图形不仅有助于理解基本的循环结构和字符串操作,还能帮助初学者熟悉Python中的格式化输出。 ### 直角三角形 #### 方式一:使用 `while` 循环 ```python # coding=utf-8 i = 1 while i <= 5: j = 1 while j <= i: print('*', end='') j += 1 print('\n') i += 1 ``` 这段代码使用两个嵌套的`while`循环来打印直角三角形。外层循环控制行数,内层循环控制每行的星号数量。`end=''`确保星号在同一行打印,而不会自动换行。每次内循环结束时,通过`print('\n')`进行换行,以便开始打印下一行。 #### 方式二:使用 `for` 循环 ```python for i in range(1, 6): for j in range(1, i + 1): print('*', end='') print('\n') ``` 这段代码与方式一的效果相同,但是使用了更简洁的`for`循环实现。`range(1, 6)`定义了外层循环的范围,即行数;内层循环`range(1, i + 1)`则根据当前行数决定星号的数量。 ### 实心等边三角形 ```python # 打印实心等边三角形 rows = int(input('请输入列数:')) for i in range(0, rows + 1): # 控制行数 for j in range(0, rows - i): # 控制前导空格 print('', end='') for k in range(0, 2 * i - 1): # 控制星号 print('*', end='') print('\n') ``` 为了打印出一个实心等边三角形,我们需要调整循环的逻辑。通过`range(0, rows + 1)`定义了行数,`range(0, rows - i)`用于控制每行前面的空白数量,使得三角形能够居中显示。内层循环`range(0, 2 * i - 1)`则控制每行星号的数量。 ### 空心等边三角形 ```python # 打印空心等边三角形 rows = int(input('请输入列数:')) for i in range(0, rows + 1): # 控制行数 for j in range(0, rows - i): # 控制前导空格 print('', end='') for k in range(0, 2 * i - 1): # 控制星号 if k == 0 or k == 2 * i - 2 or i == rows: print('*', end='') else: print('', end='') print('\n') ``` 这段代码通过增加条件判断实现了空心等边三角形的打印。如果当前星号是行的第一个或最后一个,或者是最后一行,则打印星号;否则打印空格。 ### 菱形 #### 上半部分 ```python # 打印菱形上半部分 rows = int(input('请输入列数:')) for i in range(rows): # 控制行数 for j in range(rows - i): # 控制前导空格 print('', end='') for k in range(2 * i - 1): # 控制星号 if k == 0 or k == 2 * i - 2: print('*', end='') else: print('', end='') print('\n') ``` #### 下半部分 ```python # 菱形的下半部分 for i in range(rows): for j in range(i): # 控制前导空格 print('', end='') for k in range(2 * (rows - i) - 1): # 控制星号 if k == 0 or k == 2 * (rows - i) - 2: print('*', end='') else: print('', end='') print('\n') ``` 为了打印完整的菱形,需要分两部分完成。第一部分是上半部的打印,与等边三角形类似但需额外控制空白数量。第二部分是下半部的打印,需要反向计算空白数量和星号数量。 ### 正方形 #### 实心正方形 ```python # 实心正方形 rows = int(input('请输入列数:')) for i in range(0, rows): for k in range(0, rows): print('*', end='') print('\n') ``` 这段代码通过两个`for`循环实现了实心正方形的打印。外层循环控制行数,内层循环控制每行的星号数量。 #### 空心正方形 ```python # 空心正方形 rows = int(input('请输入列数:')) for i in range(0, rows): for k in range(0, rows): if i != 0 and i != rows - 1: if k == 0 or k == rows - 1: print('*', end='') else: print(' ', end='') else: print('*', end='') print('\n') ``` 这段代码通过增加条件判断实现了空心正方形的打印。外层循环控制行数,内层循环控制每行的字符。只有当行不是首行或末行时,才会进一步判断字符位置,并根据位置决定打印星号还是空格。 总结以上知识点,我们可以看出,通过简单的循环和条件判断语句,可以在Python中绘制各种形状。这不仅可以作为编程入门的练习,也可以帮助加深对Python基础语法的理解。


























- 常微笑2021-11-25垃圾资源,缩进都没有

- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络信息安全B作业题和考试复习题.doc
- 互联网背景下如何提高图书编校质量.docx
- tcpip协议与网络管理标准教程.doc
- 大数据背景下高校思想政治教育过程融入路径探究.docx
- 云南基层干部教育培训信息化建设应用研究教育文档.doc
- 团购网站Groupon及中国电子商务发展分析.doc
- 外贸建站-营销型网站建设.doc
- 斩波电路Matlab仿真电力电子技术课程设计.doc
- 互联网+大连海参养殖新模式探究.docx
- python-游戏数据搜索引擎-基于Python开发的游戏信息检索系统-整合多平台游戏数据-提供快速搜索与详细展示功能-支持用户自定义筛选与收藏-适用于游戏爱好者与开发者查询游戏资.zip
- 人工智能双面观.docx
- 基于欧氏距离的K均方聚类算法研究与应用.docx
- 对安徽江苏山东网络电视台的比较分析.docx
- JavaEEJsp图书系统实用技术文档.doc
- 网络信息安全项目教程习题-解答.doc
- 物联网技术在现代种植业中的应用.docx


