控制台输出一个菱形。用python写 用python语言,输入整数n(边长)打印实心菱形?
\u7528Python\u600e\u6837\u8f93\u51fa\u5b8c\u6574\u7684\u83f1\u5f62\uff1f#!/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)][i>3]*2+1)).center(7, ' ') for i in range(7)]) print '\n' print '\n'.join(['*'*([i,abs(i-6)][i>3]*2+1) for i in range(7)]) \u5404\u79cd\u578b \u6ca1\u6709\u8fbe\u5230\u4f60\u7684\u8981\u6c42 \u518d\u8ffd\u95ee>>> ================================ RESTART ================================>>> **************************** **************** * *** ***** ******* ******* ***** *** * * *** ***** ******* ***** *** * *************************>>>
#\u4ee3\u7801\u5982\u4e0b
n = int(input("\u8bf7\u8f93\u5165\u83f1\u5f62\u8fb9\u957f\u6574\u6570n\uff1a"))
b = n
c = n
for i in range(1, n + 1): # \u5148\u6253\u5370\u6b63\u4e09\u89d2\uff0c\u7531\u7a7a\u683c\u548c*\u6839\u636e\u89c4\u5f8b\u7ec4\u6210
print(" " * (b - 1), "*" * (2 * i - 1))
b -= 1
if i == n: # \u4e34\u754c\u70b9\uff0c\u5f53\u6253\u5370\u5230\u6b64\uff0c\u5f00\u59cb\u6253\u5370\u5012\u4e09\u89d2
for y in range(1, n):
print(" " * y, "*" * (2*c-3))
c -= 1
---------\u4ee3\u7801\u8fd0\u884c\u7ed3\u679c\uff0c\u53ef\u81ea\u5df1\u6d4b\u8bd5
\u8bf7\u8f93\u5165\u83f1\u5f62\u8fb9\u957f\u6574\u6570n\uff1a4
*
***
*****
*******
*****
***
*
首先画一个菱形,看一下规律在哪里,先看下图:
见上图菱形,定义尺寸为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()
line=int(input('请输入菱形行数:'))
for i in range(1,line+1):
for j in range(1,line+1-i):
print(' ',end='')
for k in range(1,2*i):
print('*',end='')
print()
for i in range(1,line):
for j in range(1,i+1):
print(' ',end='')
for k in range(1,2*line-2*i):
print('*',end='')
print()
绛旓細褰撴湇鍔$鐨剆erver绋嬪簭鏀跺埌瀹㈡埛绔殑杩炴帴鍚庯紝灏卞垱寤哄瓙杩涚▼锛屽苟涓斿皢瀛愯繘绋嬬殑鏍囧噯杈撳叆銆佹爣鍑杈撳嚭銆佹爣鍑嗛敊璇噸瀹氬悜鍒板凡杩炴帴鐨勫鎺ュ瓧锛岀劧鍚巈xecl鎵цpyth.py锛岃繖鏍峰鎴风client鍜宲yth.py绋嬪簭鐨勪氦浜掑氨鐩稿綋浜庡湪鏈満鎺у埗鍙颁笂浜や簰鏄竴鏍风殑浜嗐 缂栧啓瀹㈡埛绔...