4.4章节python中循环结构得互相嵌套:常用于属于图形(长方形、三角形、菱形)

news2024/10/4 13:26:11

一、定义和注意事项

在Python中,循环结构(如for循环和while循环)可以互相嵌套。嵌套循环意味着一个循环内部包含另一个循环。这在处理多维数据或需要执行多次迭代的任务时非常有用。
在这里插入图片描述

注意:

1.缩进:在Python中,缩进是定义代码块的方式。因此,嵌套循环必须正确缩进。

2.性能:嵌套循环可能导致性能问题,特别是当循环次数较多时。因此,在编写嵌套循环时,要注意优化算法,避免不必要的计算。

3.终止条件:确保每个循环都有明确的终止条件,以避免无限循环。

二、实例应用编程

本次以这六种示例
在这里插入图片描述

1.长方形、直角三角形和倒三角形

# 长方形

for i in range(1,4):# 外层循环
    for j in range(1,5):# 内层循环
        print('*',end='')#输出每个*且不换行,直到一次循环输出五个
    print()#输出五个后换行,执行外层循环

在这里插入图片描述

# 直角三角形

for i in range(1,6):# 外层循环,有五行

    for j in range(1,i+1):# 内层循环,每一行多一颗*   (1,2)、(1,3)、(1,4)、(1,5)、(1,6)
        print('*',end='')#输出每个*且不换行,直到一次循环输出五个
    print()#输出五个后换行,执行外层循环

在这里插入图片描述

#倒三角形

for i in range(1,6):
    for j in range(1,7-i):
        print('*',end='')
    print()

在这里插入图片描述

2.等腰三角形

#等腰三角是
#看成倒三角空格三角形和直角三角形
for i in range(1,6):
    for j in range(1,6-i):
        print('&',end='')
    for k in range(1,2*i):
        print('*',end='')
    print()

在这里插入图片描述

#等腰三角是
#看成倒三角空格三角形和直角三角形
for i in range(1,6):
    for j in range(1,6-i):
        print(' ',end='')#把它改成空格就好了
    for k in range(1,2*i):
        print('*',end='')
    print()

在这里插入图片描述
3.菱形

#菱形
#奇数行打印偶数行不行

row = eval(input('请输入菱形行数:'))
while row%2==0:
    print('重新输入菱形行数:')
    row = eval(input('请输入菱形行数:'))
#输出菱形
top_row = (row+1)//2 # 上半部分行数
#上半部分
for i in range(1,top_row+1):
    #倒三角
    for j in range(1,top_row+1-i):
        print('&',end='')#把它改成空格就好了,4,3,2,1,0
    for k in range(1,2*i): #1,3,5,7,9
        print('*',end='')
    print()
# 下半部分
bottom_row = row//2
for i in range(1,bottom_row+1):
    for j in range(1,i+1):
        print('&',end='')
    for k in range(1,bottom_row*2-2*i+2): # 8,6,4,2
        print('*',end='')
    print()

在这里插入图片描述

改成空格

4.空心菱形

#空心菱形
#在打印*地方加入判断

row = eval(input('请输入菱形行数:'))
while row%2==0:
    print('重新输入菱形行数:')
    row = eval(input('请输入菱形行数:'))
#输出菱形
top_row = (row+1)//2 # 上半部分行数
#上半部分
for i in range(1,top_row+1):
    #倒三角
    for j in range(1,top_row+1-i):
        print(' ',end='')#把它改成空格就好了,4,3,2,1,0
    for k in range(1,2*i): #1,3,5,7,9
        if k==1 or k==2*i-1:# 判断条件
            print('*',end='')
        else:
            print(' ',end='')
    print()
# 下半部分
bottom_row = row//2
for i in range(1,bottom_row+1):
    for j in range(1,i+1):
        print(' ',end='')
    for k in range(1,bottom_row*2-2*i+2): # 8,6,4,2
        if k==1 or k==bottom_row*2-2*i+2-1: # 判断条件
            print('*',end='')
        else:
            print(' ',end='')
    print()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2188091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【本地免费】SimpleTex 图像识别latex公式

文章目录 相关教程相关文献安装教程 由于mathpix开始收费了,于是本文将介绍一款目前本地免费的SimpleTex工具 相关教程 【超详细安装教程】LaTeX-OCR 图像识别latex公式(开源免费)_latex图片识别-CSDN博客 相关文献 SimpleTex主页——致力…

Kali或Debian系统安装JDK1.8保姆级教程

一、下载JDK1.8 先到Oracle的官网下载JDK1.8 Java Archive | Oraclehttps://www.oracle.com/java/technologies/downloads/archive/Java Archive Downloads - Java SE 8

基于Java+VUE+echarts大数据智能道路交通信息统计分析管理系统

大数据智能交通管理系统是一种基于Web的系统架构,通过浏览器/服务器(B/S)模式实现对城市交通数据的高效管理和智能化处理。该系统旨在通过集成各类交通数据,包括但不限于车辆信息、行驶记录、违章情况等,来提升城市管理…

TB6612电机驱动模块(STM32)

目录 一、介绍 二、模块原理 1.原理图 2.电机驱动原理 三、程序设计 main.c文件 Motor.h文件 Motor.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 TB6612FNG 是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流 MOSFET-H 桥结构&#xff…

Nuxt.js 应用中的 app:beforeMount 钩子详解

title: Nuxt.js 应用中的 app:beforeMount 钩子详解 date: 2024/10/4 updated: 2024/10/4 author: cmdragon excerpt: app:beforeMount 是一个强大的钩子,允许开发者在用户界面挂载前控制应用的初始化过程。通过有效利用这一钩子,我们可以优化应用的用户体验,保持状态一…

【AI知识点】分层可导航小世界网络算法 HNSW(Hierarchical Navigable Small World)

HNSW(Hierarchical Navigable Small World)分层可导航小世界网络算法 是一种高效的近似最近邻搜索(Approximate Nearest Neighbor Search, ANN) 算法,特别适用于大规模、高维数据集的相似性检索。HNSW 基于小世界网络&…

使用NumPy进行线性代数的快速指南

介绍 NumPy 是 Python 中用于数值计算的基础包。它提供了处理数组和矩阵的高效操作,这对于数据分析和科学计算至关重要。在本指南中,我们将探讨 NumPy 中可用的一些基本线性代数操作,展示如何通过运算符重载和内置函数执行这些操作。 元素级…

ubuntu图形界面右上角网络图标找回解决办法

问题现象: ubuntu图形界面右上角网络图标消失了,不方便联网: 正常应该是下图: 网络寻找解决方案,问题未解决,对于某些场景可能有用,引用过来: 参考方案 Ubuntu虚拟机没有网络图标或…

【云原生安全篇】Cosign助力Harbor验证镜像实践

【云原生安全篇】Cosign助力Harbor验证镜像实践 目录 1 引言2 概念 2.1 什么是 Cosign?2.2 为什么选择 Cosign 和 Harbor? 3 实践: Cosign对Harbor中的镜像签名 3.1 环境准备3.2 安装 Cosign3.3 使用 Cosign 对镜像进行签名 3.3.1 生成密钥对…

用Sklearn和Statsmodels来做linear_regression和Logistic_regression注意事项

用Sklearn和Statsmodels来做linear_regression和Logistic_regression注意事项,区别。主要在于 intercept 项,和 regularization。 X np.array([-1, 0, 1]) # 自变量 Y np.array([-2, 0, 5]) # 因变量一、Linear regression 的截距项 又叫 intercep…

Web安全 - 构建全面的业务安全保护防御体系

文章目录 业务安全概述业务安全 vs. 基础安全业务安全的防护业务安全的防护策略1. 用户资源对抗的技术实现与优化2. IP资源对抗的技术实现与优化3. 设备资源对抗的技术实现与优化4. 操作资源对抗的技术实现与优化实际应用场景中的策略 典型场景业务场景 1:新用户注册…

Vue中使用ECharts实现热力图的详细教程

在数据可视化领域,热力图是一种非常直观的表现形式,它通过颜色深浅来展示数据分布情况。在Vue项目中,我们可以使用ECharts这一强大的图表库来实现热力图。下面我将详细介绍如何在Vue中使用ECharts实现热力图。效果如下图: 一、准备…

关于abaqus里一些问题的记录

在进行布种时,会遇到最大偏离因子和最小尺寸因子,在帮助文档里,是这么解释 要控制曲率对种子设定的影响,请为 Maximum deviation factor (最大偏差因子) 输入一个值。偏差因子是衡量单元边缘与原始几何图形…

爬虫prc技术----小红书爬取解决xs

知识星球:知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具知识星球是创作者连接铁杆粉丝,实现知识变现的工具。任何从事创作或艺术的人,例如艺术家、工匠、教师、学术研究、科普等,只要能获得一…

lambda表达式底层实现:反编译LambdaMetafactory + 转储dump + 运行过程 + 反汇编 + 动态指令invokedynamic

一、结论先行 lambda 底层实现机制 1.lambda 表达式的本质:函数式接口的匿名子类的匿名对象 2.lambda表达式是语法糖 语法糖:编码时是lambda简洁的表达式,在字节码期,语法糖会被转换为实际复杂的实现方式,含义不变&am…

低空无人机飞手四类超视距无人机技术详解

低空无人机飞手中的四类超视距无人机技术详解,主要涉及无人机的性能特点、技术要求、培训内容以及应用场景等方面。以下是对这些方面的详细阐述: 一、四类无人机(中型无人机)性能特点 四类无人机,现已更名为中型无人…

OpenCAEPoro优化(2)

前言: 首先有一点要注意: 修改代码时,要注意命名空间的冲突问题(主要是头文件中) 作者了解了相关这个项目的一些背景介绍;得到的主要信息是:这种大型程序一般都是优化的比较完善了&#xff0…

【Vue3实战】:用导航守卫拦截未保存的编辑,提升用户体验

前言 在Vue3应用中,用户可能会在一个页面上进行数据编辑,如填写表单或修改表格中的数据。当用户在未保存更改的情况下尝试离开当前页面时,我们希望能够弹出提示框,告知用户有未保存的更改,并询问是否确定离开。 一、使…

【案例】平面云

教程案例视频:Unity Shader Graph - 云教程 开发平台:Unity 2022 开发工具:Unity ShaderGraph   一、效果展示 二、ShaderGraph 路线图 三、案例分析 核心思路:使用 Noise(噪声)模拟云层状态   3.1 说明…

打造高效灵活的数字企业——The Open Group 2024生态系统架构·可持续发展年度大会重磅来袭

随着数字经济的高速发展,企业数字化转型已成为时代的必然趋势。如何在这场变革中抢占先机,实现业务增长与降本增效,成为众多企业关注的焦点。为此,The Open Group 2024生态系统架构可持续发展年度大会将于明年盛大开启&#xff0c…