鱼C论坛

 找回密码
 立即注册
楼主: WangJS

[已解决]小白Python练习册(9)【鱼币福利】

[复制链接]
发表于 2020-4-29 09:33:30 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 09:34:05 | 显示全部楼层
  1. v = int(input('请输入要打印的层数:'))
  2. for s in range(v - 1):
  3.     print(int(v - s - 1) * ' ',((s + 1) * 2 - 1) * '*')
  4. for s in range(1, v + 1):
  5.     print((s - 1) * ' ',((v - s) * 2 + 1) * '*')
复制代码

是不是这样?

评分

参与人数 1鱼币 +2 贡献 +2 收起 理由
WangJS + 2 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 09:50:06 | 显示全部楼层
  1. n = int(input('要打印几层的菱形:'))

  2. for i in range(1, 2*n, 2):
  3.     a = '*' * i
  4.     print(a.center(2*n-1))

  5. for j in range(2*n-3, 0, -2):
  6.     b = '*' * j
  7.     print(b.center(2*n-1))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 10:45:40 | 显示全部楼层
本帖最后由 txxcat 于 2020-4-29 14:25 编辑
  1. a=[]
  2. n = int(input('请输入要打印的层数:'))
  3. for i in range(n):
  4.     a.append(' '*(n-i+1)+'*'*(2*i+1))
  5. print('\n'.join(a+a[:-1][::-1]))
复制代码


单行版:
  1. n = int(input('请输入要打印的层数:'))
  2. 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)]))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 10:59:51 | 显示全部楼层
康康
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-29 11:05:54 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[index]*"*"+(i-1)*"*")
    index+=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 12:26:37 | 显示全部楼层
我做好了(见第一页)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 13:59:07 | 显示全部楼层
  1. def game(n):
  2.     for i in range(1,n+5,2):
  3.         print((i*'*').center(n+5))
  4.     for i in reversed(range(1,n+4,2)):
  5.         print((i*'*').center(n+5))
  6. num=int(input('请输入要打印的层数:'))
  7. print(game(num))
复制代码




不知道为啥结尾多个None

求指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-29 15:15:26 | 显示全部楼层
本帖最后由 WangJS 于 2020-4-29 15:18 编辑
1469396970 发表于 2020-4-29 13:59
不知道为啥结尾多个None

求指导


你在函数结尾加一个   return ''   试试

  1. def game(n):
  2.     for i in range(1,n+5,2):
  3.         print((i*'*').center(n+5))
  4.     for i in reversed(range(1,n+4,2)):
  5.         print((i*'*').center(n+5))
  6.     return ''
  7. num=int(input('请输入要打印的层数:'))
  8. print(game(num))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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))

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
WangJS + 1 + 1 最后一点了QuQ

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 15:27:16 | 显示全部楼层
蒙了,没思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 20:07:18 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-29 20:39:12 | 显示全部楼层
初学 先来论坛占个坑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 21:36:51 | 显示全部楼层
没有思路,硬整他
  1. number = 5

  2. def _iter(n):
  3.     space_ = list(range(n-1,-1, -1)) + list(range(1, n))
  4.     space = list(range(1, 2*n, 2))+list(range(2*n -3, 0, -2))
  5.     for a, b in zip(space, space_): yield b * " " + "*" * a

  6. for a in _iter(number):
  7.     print(a)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 07:51:23 From FishC Mobile | 显示全部楼层
Hello. 发表于 2020-4-29 09:05
你们都用Python,我来换个语言

猜语言:Java
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 08:03:46 | 显示全部楼层

正确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 08:45:05 | 显示全部楼层
怎么,感觉我还是什么都不会,货真价实的小白就是我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-30 09:26:15 | 显示全部楼层
占楼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-30 09:32:38 | 显示全部楼层
  1. a = int(input('请输入要打印的层数:'))
  2. for i in range(a-1):
  3.     print(int(a-i-1) * ' ',((i+1)*2-1) * '*')
  4. for i in range(1,a+1):
  5.     print((i-1)*' ',((a-i)*2+1) * '*')
  6. input()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 15:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表