kkk999de
发表于 2020-4-29 09:33:30
学习一下
小龙乖乖
发表于 2020-4-29 09:34:05
v = int(input('请输入要打印的层数:'))
for s in range(v - 1):
print(int(v - s - 1) * ' ',((s + 1) * 2 - 1) * '*')
for s in range(1, v + 1):
print((s - 1) * ' ',((v - s) * 2 + 1) * '*')
是不是这样?
kkk999de
发表于 2020-4-29 09:50:06
n = int(input('要打印几层的菱形:'))
for i in range(1, 2*n, 2):
a = '*' * i
print(a.center(2*n-1))
for j in range(2*n-3, 0, -2):
b = '*' * j
print(b.center(2*n-1))
txxcat
发表于 2020-4-29 10:45:40
本帖最后由 txxcat 于 2020-4-29 14:25 编辑
a=[]
n = int(input('请输入要打印的层数:'))
for i in range(n):
a.append(' '*(n-i+1)+'*'*(2*i+1))
print('\n'.join(a+a[:-1][::-1]))
单行版:
n = int(input('请输入要打印的层数:'))
print('\n'.join([(' '*(n-i+1)+'*'*(2*i+1)) for i in range(n)]+[(' '*(n+i+1)+'*'*(2*abs(i)+1)) for i in range(-n+2,1)]))
不打工的秘密
发表于 2020-4-29 10:59:51
康康
muchen1403
发表于 2020-4-29 11:05:54
顶
土二奇
发表于 2020-4-29 12:19:00
a=int(input("请输入打印的层数:"))
for i in range(1,a+1):
print(" "*(a-i)+(i)*"*"+(i-1)*"*")
lst=[]
for i in range(1,a):
lst.append(i)
lsta=lst[::-1]
index=0
for i in lsta:
print(" "*(a-i)+lsta*"*"+(i-1)*"*")
index+=1
liuzhengyuan
发表于 2020-4-29 12:26:37
我做好了(见第一页)
1469396970
发表于 2020-4-29 13:59:07
def game(n):
for i in range(1,n+5,2):
print((i*'*').center(n+5))
for i in reversed(range(1,n+4,2)):
print((i*'*').center(n+5))
num=int(input('请输入要打印的层数:'))
print(game(num))
不知道为啥结尾多个None
{:10_272:}
求指导
WangJS
发表于 2020-4-29 15:15:26
本帖最后由 WangJS 于 2020-4-29 15:18 编辑
1469396970 发表于 2020-4-29 13:59
不知道为啥结尾多个None
求指导
你在函数结尾加一个 return '' 试试{:10_262:}
def game(n):
for i in range(1,n+5,2):
print((i*'*').center(n+5))
for i in reversed(range(1,n+4,2)):
print((i*'*').center(n+5))
return ''
num=int(input('请输入要打印的层数:'))
print(game(num))
1469396970
发表于 2020-4-29 15:23:59
WangJS 发表于 2020-4-29 15:15
你在函数结尾加一个 return '' 试试
def game(n):
for i in range(1,n+5,2):
print((i*'*').center(n+5))
for i in reversed(range(1,n+4,2)):
print((i*'*').center(n+5))
return '结果如上所示^_^'
num=int(input('请输入要打印的层数:'))
print(game(num))
{:10_315:}
logoff1983
发表于 2020-4-29 15:27:16
蒙了,没思路
s0mnus
发表于 2020-4-29 20:07:18
666
smallking
发表于 2020-4-29 20:39:12
初学 先来论坛占个坑
Stubborn
发表于 2020-4-29 21:36:51
没有思路,硬整他
number = 5
def _iter(n):
space_ = list(range(n-1,-1, -1)) + list(range(1, n))
space = list(range(1, 2*n, 2))+list(range(2*n -3, 0, -2))
for a, b in zip(space, space_): yield b * " " + "*" * a
for a in _iter(number):
print(a)
_2_
发表于 2020-4-30 07:51:23
Hello. 发表于 2020-4-29 09:05
你们都用Python,我来换个语言
猜语言:Java
Hello.
发表于 2020-4-30 08:03:46
_2_ 发表于 2020-4-30 07:51
猜语言:Java
正确{:9_227:}
wwwhhhaaattt
发表于 2020-4-30 08:45:05
怎么,感觉我还是什么都不会,货真价实的小白就是我
xiaosi4081
发表于 2020-4-30 09:26:15
占楼
xiaosi4081
发表于 2020-4-30 09:32:38
a = int(input('请输入要打印的层数:'))
for i in range(a-1):
print(int(a-i-1) * ' ',((i+1)*2-1) * '*')
for i in range(1,a+1):
print((i-1)*' ',((a-i)*2+1) * '*')
input()