Python输出菱形字符图案简单(python输出菱形字符图案简单易懂)
请教如图所示Python输出数字菱形的代码?
按照你的要求编写的输出数字菱形的Python程序如下(abs是求绝对值的函数)
N=9
for i in range(1,N*2):
for j in range(1,abs(N-i)+1):
print(' ',end='')
for j in range(N-abs(N-i),1,-1):
print(j,end='')
for j in range(1,N-abs(N-i)+1):
print(j,end='')
print()
源代码(注意源代码的缩进)
控制台输出一个菱形。用python写
首先画一个菱形,看一下规律在哪里,先看下图:
见上图菱形,定义尺寸为size=3,
定义X坐标为i:
A区域X坐标为i,Y坐标为size-i;
B区域X坐标为i,Y坐标为size+i;
C区域X坐标为i,Y坐标为i-size;
D区域X坐标为i,Y坐标为size*3-i
满足1,2,3,4的情况下就输出*,其它则输入空格,这样我们就得到一个菱形,代码如下和输出效果如下:
size?=?3?#?定义菱形尺寸
count?=?size*2+1?#?定义X,Y坐标循环范围
#?i为横坐标
for?i?in?range(count):
????#?j为纵坐标
????for?j?in?range(count):?
????????#?当X,Y满足条件1和2时
????????if?i?=?size?and?(j?==?size-i?or?j?==?size+i):
????????????print('*',?end='')
????????#?当X,Y满足条件3和4时
????????elif?i??size?and?(j?==?i-size?or?j?==?size*3-i):
????????????print('*',?end='')
????????#?其它情况输入空格
????????else:
????????????print('?',?end='')
????#?每打印一行就换行
????print()
用Python怎样输出完整的菱形?
#!/usr/bin/env?python
#?-*-?coding:utf-8?-*-
?
print?'\n'.join(['*'*7?for?i?in?range(4)])
?
print?'\n'
?
print?'\n'.join(['*'*(i*2+1)?for?i?in?range(4)])
?
print?'\n'
?
print?'\n'.join([('*'*(i*2+1)).center(7,?'?')?for?i?in?range(4)])
?
print?'\n'
?
print?'\n'.join([('*'*(abs(i-3)*2+1)).center(7,?'?')?for?i?in?range(4)])
?
print?'\n'
?
print?'\n'.join([('*'*([i,abs(i-6)][i3]*2+1)).center(7,?'?')?for?i?in?range(7)])
?
print?'\n'
?
print?'\n'.join(['*'*([i,abs(i-6)][i3]*2+1)?for?i?in?range(7)])
?
各种型?没有达到你的要求?再追问
?================================?RESTART?================================
?
*******
*******
*******
*******
?
?
*
***
*****
*******
?
?
???*???
??***??
?*****?
*******
?
?
*******
?*****?
??***??
???*???
?
?
???*???
??***??
?*****?
*******
?*****?
??***??
???*???
?
?
*
***
*****
*******
*****
***
*
Python打印任意字符菱形
def?rhombus(N):
???#菱形的上半部分
???for?i?in?range(N):
???????print?'?'*(N-i)?+?'*'*(2*i+1)
???#菱形的正中
???print?'*'*(2*N+1)
???#菱形的下半部分
???for?i?in?range(N):
???????print?'?'*(i+1)?+?'*'*(2*(N-i-1)+1)
rhombus(4)
如何使用python打印数字菱形?
#?单行输出数值从小到大再从大到小
def?numout(length):
for?i?in?range(length-1):
print(i+1,end?=?"")
print(length,end?=?"")
for?i?in?range(length-1):
print(length-i-1,end?=?"")
print("?")
#?一共输出了2n-1行数字
def?diamond(length):
for?i?in?range(1,(length*2)):
print("?"*abs(length-i),end?=?"")
numout(length-abs(i-length))
while?True:
length?=?None
#检测输入值是否为数值类型
try:
length?=?int(input("请输入正整数:"))
except:print("错误,",end?=?"")
if?type(length)?==?int:break
#?输出菱形
diamond(length)