用python打印菱形的实操方法和代码
作者:laozhang 发布时间:2023-03-18 19:17:18
标签:python,菱形
python怎么打印菱形?下面给大家带来三种方法:
第一种
rows = int(input('请输入菱形边长:\n'))
row = 1
while row <= rows:
col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数
while col <= (rows-row): # 这个内层while就是单纯打印空格
print(' ', end='') # 空格的打印不换行
col += 1
print(row * '* ') # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
row += 1
bottom = rows-1
while bottom > 0:
col = 1 # 保证每次内循环col都从1开始,打印前面空格的个数
while bottom+col <= rows:
print(' ', end='') # 空格的打印不换行
col += 1
print(bottom * '* ') # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
bottom -= 1
输出结果:
请输入菱形边长:
5
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
第二种
s = '*'
for i in range(1, 8, 2):
print((s * i).center(7))
for i in reversed(range(1, 6, 2)):
print((s * i).center(7))
输出结果:
*
***
*****
*******
*****
***
*
第三种
def stars(n):
RANGE1 = [2*i+1 for i in range(n)]
RANGE2 = [2*i+1 for i in range(n)[::-1]][1:]
RANGE = RANGE1 + RANGE2
RANGE_1 = [i for i in range(n)[::-1]]
RANGE_2 = [i for i in range(n)[1:]]
RANGE_12 = RANGE_1 + RANGE_2
for i in range(len(RANGE)):
print (' '*RANGE_12[i] + '*'*RANGE[i])
if __name__ == "__main__":
stars(5)
输出结果:
*
***
*****
*******
*********
*******
*****
***
*


猜你喜欢
- 最近做了一个微信小程序的项目,关于后端给我传递日期的时候,我拿到的是一串数字如:createDate: 1552117531000 ,这是一
- 1 非贪婪flag>>> re.findall(r"a(\d+?)", "a23b"
- 关于作者 王丹丹 , IBM 中国系统与技术中心软件工程师,自从 2006 年加入 IBM,一直从事 Web 系统设计和开发工作,有五年 P
- 为方便用ipset 来管理防火墙,写了下面Ipset类来对Ip进行管理#!/usr/bin/env python# coding: utf-
- 在这家公司一个项目, 需要添加英文版本,就是中英文化了,直接上代码1.首先是main.js页面做配置import VueI18n from
- 语法格式如下:assert expression等价于:if not expression: raise AssertionErrorass
- 需求:在刷word题库的时候,答案就在题目下方,干扰复习效果,将答案字体变成白色,查看答案的时候只需要将答案背景刷黑转换需求:在word中找
- Python编程中经常遇到一些莫名其妙的错误, 其实这不是语言本身的问题, 而是我们忽略了语言本身的一些特性导致的,今天就来看下使用Pyth
- 您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 g
- 先准备好软件:一、安装Apache,配置成功一个普通网站服务器 运行下载好的“apache_2.0.55-win32-x86-no_ssl.
- 服务器响应HTTP的类型ContentType大全,使用方法:<% Response.ContentType =&
- 玩过电脑游戏的同学对于 * 肯定不陌生,但是你在用 * 的时候有没有想过如何做一个 * 呢?(当然用 * 不是那么道义哈,呵呵),那我们就来看一下如
- 前言今天就给大家介绍四个你不怎么常用排序函数,他们就是SQL Server排序中经常用到的ROW_NUMBER(),RANK(),DENSE
- channelGo语言中的通道(channel)是一种特殊的类型。在任何时候,同时只能有一个 goroutine 访问通道进行发送和获取数据
- 本文实例讲述了Python打印斐波拉契数列的方法。分享给大家供大家参考。具体实现方法如下:#打印斐波拉契数列#!/usr/bin/pytho
- 前言最近在学习Python的面向对象编程,以前是没有接触过其它的面向对象编程的语言,因此学习这一部分是相当带劲的,这里也总结一下。概述pyt
- 本文实例为大家分享了js实现微信聊天效果的具体代码,供大家参考,具体内容如下<!DOCTYPE html><html la
- Git的工作方式分为集中式工作流、功能分支工作流、Gitflow工作流和Forking,其中集中式工作流和功能分支工作流是已经使用过的,Gi
- 1. 腐蚀 & 膨胀1.1什么是腐蚀&膨胀腐蚀&膨胀是图像形态学中的两种核心操作腐蚀可以描述为是让图像沿着自己的边界
- Cookie是一种小型文本文件,存储在用户计算机中,用于跟踪用户在互联网上的活动。Cookie通常由网站创建,以便记住用户的偏好和登录状态,