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()
页: 1 [2] 3 4 5
查看完整版本: 小白Python练习册(9)【鱼币福利】