Python—循环加强

1.使用循环打印等腰三角形

# 画三角形层数为n
# 第i层有空格:n-i
# 第i层有*:2*i-1
n = int(input("层数:"))#层数=n
for i in range(1, n + 1):#范围在1~n# 画空格for _ in range(1, n - i + 1):  # _不用显示,用于表示;i表示第几层print(" ",end="")#end=""相当于不换行输出# 画*for _ in range(1, 2 * i):print("*",end="")print()#print命令自带换行功能

2.使用循环打印菱形

# 菱形的上层数:n//2 +1
# 第i层有空格:up -i
# 第i层有*:2*up-1
n = int(input("输入菱形的层数(必须是奇数):"))
up = n // 2 + 1
for i in range(1,up+1):#范围1~up# 画空格for _ in range(1,up - i+1):print(" ", end="")# 画星星for _ in range(1,2 * i):print("*", end="")print()
# 下半部分:n//2
# 空格数:i
# 星星数:n- i*2
down = n // 2
for i in range(1, down + 1):# 画空格for _ in range(1,i+1):print(" ", end="")# 画星星for _ in range(1,n - i * 2+1):print("*", end="")print()

 

3.使用循环打印空心菱形

# 空心菱形意味着每行只画第一颗星星和最后一颗星星,其他位置补空格
# 所以可以得到上部分 j==0 或者 j==2*i-2 画星星
#         下部分 j ==0 或者 j==n-i*2-1画星星
n = int(input("输入菱形的层数(必须是奇数):"))
up = n // 2 + 1
down = n // 2
for i in range(1, up + 1):#画空格for _ in range(up - i):#范围0~up-iprint(" ", end="")#画星星for j in range(2 * i - 1):#if j == 0 or j == i * 2 - 2:#当j=0时(第一次循环),j=i*2-1-1(最后一次序循环)画星星print("*",end="")else:print(" ",end="")#其他全部画成空格print()
down = n // 2
for i in range(1, down + 1):for _ in range(i):print(" ", end="")for j in range(n - i * 2):#范围0~n-i*2if j == 0 or j == n - i * 2 - 1:  # 当j=0时(第一次循环),j=i*2-1-1(最后一次序循环)画星星print("*", end="")else:print(" ", end="")  # 其他全部画成空格print()

 4.使用循环打印横空心菱形

n = int(input("输入菱形的层数(必须是奇数):"))
up = n // 2 + 1
down = n // 2
for i in range(1, up + 1):#画空格for _ in range(up - i):print(" ", end="")#画星星for j in range(2 * i - 1):#if j == 0 or j == i * 2 - 2 or i == up:#当j=0时(第一次循环),j=i*2-1-1(最后一次序循环),当i=最后一行全部画星星print("*",end="")else:print(" ",end="")print()
down = n // 2
for i in range(1, down + 1):for _ in range(i):print(" ", end="")for j in range(n - i * 2):if j == 0 or j == n - i * 2 - 1:  print("*", end="")else:print(" ", end="") print()

5.使用循环打印十字空心菱形

n = int(input("输入菱形的层数(必须是奇数):"))
up = n // 2 + 1
down = n // 2
for i in range(1, up + 1):#画空格for _ in range(up - i):print(" ", end="")#画星星for j in range(2 * i - 1):if j == 0 or j == 2 * i - 2 or i == up or j == (2 * i - 1) // 2:#前面的基础上加上每一行的中间画一个星星(2 * i - 1) // 2print("*",end="")else:print(" ",end="")print()
down = n // 2
for i in range(1, down + 1):for _ in range(i):print(" ", end="")for j in range(n - i * 2):if j == 0 or j == n - i * 2 - 1 or j == (n - i * 2) // 2:#前面的基础上加上每一行的中间画一个星星(n - i * 2) // 2print("*", end="")else:print(" ", end="")print()

6.使用循环打印十字箭头

n = int(input("输入的层数(必须是奇数):"))
up = n // 2 + 1
down = n // 2
for i in range(1, up + 1):#画空格for _ in range(up - i):print(" ", end="")#画星星for j in range(2 * i - 1):if j == 0 or j == 2 * i - 2 or i == up or j == (2 * i - 1) // 2:print("*",end="")else:print(" ",end="")print()
down = n // 2
for i in range(1, down + 1):for _ in range(i):print(" ", end="")for j in range(n - i * 2):if  j == (n - i * 2) // 2:#将第一颗星星和最后一颗星星删除print("*", end="")else:print(" ", end="")print()

7.(显示一个金字塔)编写程序提示用户输入一个在1到15之间的整数,然后显示一个金字塔

#分成两个部分解决问题
#当三角形为n层时
#第i层有n-i个空格
#第i层的数字:从i开始,1结束。range(i,1)
#左边三角形
n = int(input("请输入三角形的层数:"))
for i in range(1, n + 1):#画空格for _ in range(n - i):print("\t", end="")#画数字for j in range(i, 0, -1):print(f"{j}\t", end="")
#右边三角形for j in range(2, i + 1):print(f"{j}\t", end="")print()

8.(使用循环显示四种模式)使用嵌套循环在四个独立的程序中显示下面四种模式。

A

n = int(input("请输入三角形的层数:"))
for i in range(1, n + 1):# 画空格for _ in range(n - i):print("", end="")# 画数字for j in range(1, i + 1):print(f"{j}\t", end="")print()

B

n = int(input("请输入打印的层数:"))
for i in range(n, 0, -1):for j in range(1, i + 1):print(f"{j}\t", end="")print()

C

n = int(input("请输入三角形的层数:"))
for i in range(1, n + 1):#画空格for _ in range(n - i):print("\t", end="")#画数字for j in range(i, 0, -1):print(f"{j}\t", end="")print()

D

n = int(input("请输入层数:"))
for i in range(n, 0, -1):for _ in range(n - i):print("\t", end="")for j in range(1, i + 1):print(f"{j}\t", end="")print()

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

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

相关文章

Java斐波那契查找知识点(含面试大厂题和源码)

斐波那契查找(Fibonacci Search)是一种在有序数组中查找元素的高效算法,它基于斐波那契数列的性质。斐波那契查找是二分查找的一种改进,通过使用斐波那契数列来确定搜索范围,可以在某些情况下减少比较次数,…

代码随想录算法训练营第三十二天| 122.买卖股票的最佳时机II , 55. 跳跃游戏, 45.跳跃游戏II

题目与题解 122.买卖股票的最佳时机II 题目链接:122.买卖股票的最佳时机II 代码随想录题解:122.买卖股票的最佳时机II 视频讲解:贪心算法也能解决股票问题!LeetCode:122.买卖股票最佳时机II_哔哩哔哩_bilibili 解题思…

MySQL一条SQL语句的执行过程

MySQL一条SQL语句的执行过程可以大致分为以下几个步骤: mysq分层架构 为了理解这个问题,先从Mysql的架构说起,对于Mysql来说,大致可以分为3层架构。 网络连接层: 作为客户端和服务端的连接,连接器负责处…

Leetcode 17.电话号码的字母组合

题目 思路 输入的digits有几个数就有几层。 一层中有几个数则取决于输入的数字对应的字母有几个。 1.确定递归函数的返回值及参数: 其实参数不是一开始就确定好的,而是你在写递归函数的时候缺啥,就往进去传啥。 这里我就直接全部写出来。…

无线基本认识和配置

1、无线局域网 IEEE 802.11标准 根据应用范围分类 WPAN --- 个人无线网络 NFC、ZIgbee、Bluetooth WLAN --- 无线局域网 WiFi,使用到WPAN技术 WMAN --- 无线城域网 WiMax 802.16 WWAN --- 无线广域网 GSM、CDMA、WCDMA、LTE、5G、TD-SCDMA 2、…

2012年认证杯SPSSPRO杯数学建模C题(第一阶段)碎片化趋势下的奥运会商业模式全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 C题 碎片化趋势下的奥运会商业模式 原题再现: 从 1984 年的美国洛杉矶奥运会开始,奥运会就不在成为一个“非卖品”,它在向观众诠释更高更快更强的体育精神的同时,也在攫取着巨大的商业价值&#…

【leetcode面试经典150题】11.H指数(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…

关东升老师力作!四本编程宝典,带你畅游编程世界

🌟《看漫画学C》:关东升老师以漫画的形式,让你在欢笑中轻松掌握C编程的核心知识。不再枯燥,不再难懂,让编程变得有趣又简单! 🎨《MATLAB科研绘图与学术图表绘制从入门到精通》:关东升…

数学中的各种符号虚数概念

max i∈S​A i ​ ≥ ∑ i∈S​B i​. 这个不等式表达的意思是对于集合 S 中的任意非空子集,子集中的最大的 A_i(A 的元素)的值都大于等于子集中所有 B_i(B 的元素)的值的总和。换句话说,集合 S 中的最大…

c++的学习之路:15、list(2)

本章主要是讲模拟实现list,文章末附上代码。 目录 一、创建思路 二、构造函数 三、迭代器 四、增删 五、代码 一、创建思路 如下方代码,链表是由一块一块不连续的空间组成的,所以这里写了三个模板,一个是节点,一…

koc和kol是什么意思?

一、koc和kol是什么意思? koc和kol是专业术语。KOC是关键意见消费者的意思,是Key Opinion Consumer的缩写;KOL是关键意见领袖的意思,是Key Opinion Leader的缩写。 1、关键意见领袖kol “关键意见领袖”通俗地讲是达人。这些人…

应用开发:python解析斗鱼弹幕

解决问题 互动弹幕,关注提问 ,ai回答 技术 python playwright 调用接口 https://github.com/broven/DouYudanmu/blob/master/douyu.py 演示 放弃 这个根本不是研究方向 定位错误 你浪费下午时间,定位错误 这个跟本不是你的方向。 4个小时看斗…

OMP实现压缩感知的实现(MATLAB)

本文介绍通过DWT和OMP实现压缩感知。 不同的是,将DWT得到的低频放到了作为稀疏矩阵的顶部。 压缩感知 压缩感知算法是一种用于从高维度数据中恢复稀疏信号的方法。它通常用于处理信号的采样和重建,例如图像或音频。以下是压缩感知算法的一般实现细节: 信号表示: 压缩感知算…

蓝桥杯第六届c++大学B组详解

前言: 看了很多博客以及视频讲解,感觉都不是很清楚,比较模棱两可,所以干脆自己一边想,一边写博客,也可帮助到其他人,都是根据自己的逻辑来尽量清楚简单的讲清楚题目,喜欢的不要吝啬三…

计算机笔记(4)续20个

61.指出CPU下一次要执行的指令的地址的部件称为程序计数器 62.动态随机存储器,最为常见的系统内存,即DRAM。DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新一次,如果存储单元没…

Python数据分析十六

一、Python的字典的操作方法popitem和setdefault 当你使用Python中的字典数据类型时,可能会经常用到一些操作方法,比如popitem()和setdefault()。下面我将为你详细讲解这两个方法,并给出相应的代码示例。 1.popitem()方法: pop…

HTTP的介绍

一.什么是HTTP? Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 二.HTTP的特点 (1)基于TCP协议:面向连接,安全 (2)基于请求-响应模型的&…

卡奥斯工业互联网平台分析

一、 背景 卡奥斯是海尔推出的具有中国自主知识产权、全球首家引入用户全流程参与体验的工业互联网平台。其核心是大规模定制模式,通过持续与用户交互,将硬件体验变为场景体验,将用户由被动的购买者变为参与者、创造者,将企业由原…

违法解除劳动合同后【股票争议】——案例学习

目录 结论:不统一 观点一: 不属于劳动争议 观点二: 属于劳动争议 股权激励收益是否属于劳动报酬应结合以下要素综合判断: 股权激励收益应属于劳动报酬 问题:违法解除劳动合同后,涉股权激励争议是否属于…

【1】初识 Python

【1】初识 Python 1、编程语言(1) 语言(2) 编程语言(3) 如何利用编程语言与计算机交流(4) 常见的编程语言(5) 语法 2、Python 简介(1) 什么是 Python(2) Python 能做什么(3) Python 的由来(4) Python的特点① 语法精简② 生态好,开发效率高③ Python开发初体验&…