你的发 2023-10-24 19:10 采纳率: 0%
浏览 3

急,谁会写这个程序啊

img


来个人,快来帮帮我,明天就要完成了,来个人吧,要被折磨死了,到底怎么才能运行正确

  • 写回答

2条回答 默认 最新

  • 梦幻精灵_cq 2023-10-24 19:20
    关注
    • 可以用numpy二维数组赋值完成
      我的学习笔记有python源码:numpy矩阵画框框(在n×n的矩阵中画框框和内接菱形◇)
      您把中间变成十字就好了。

    • x = 2~9时的形状

      img

    python代码

    #!/sur/bin/nve python
    # coding: utf-8
    
    
    
    def drawTian(n):
        import numpy as np
        a = np.full((n, n), ' ', dtype=str) # 创建字符矩阵。
        
        # 画列 #
        a[range(n), [0]*n] = '*'
        a[range(n), [n//2]*n] = '*'
        a[range(n), [-1]*n] = '*'
        
        # 画行 #
        a[[0]*n, range(n)] = '*'
        a[[n//2]*n, range(n)] = '*'
        a[[-1]*n, range(n)] = '*'
        
        
        print('\n'.join([" ".join(i) for i in a])) # 字符串格式化输出*田形状。
    
    
    if __name__ == '__main__':
    
        for i in range(3, 10):
            print()
            drawTian(2*i-1)
    
    
    • 当然,也可以用字符串格式化知识点手撕本题目😃

    python代码

    #!/sur/bin/nve python
    # coding: utf-8
    
    
    
    def drawTian(n):
        fullStars = '* '*(n-1)
        blank = ' '*(n-3)
        threeStars = '*' + blank + '*' + blank + '*'
    
        for i in range(n): # 字符串格式化循环逐行输出*田形状。
    
            if i in (0, n//2, n-1):
                print(fullStars)
            else:
                print(threeStars) 
    
    
    if __name__ == '__main__':
    
        for i in range(3, 10):
            print()
            drawTian(2*i-1)
    
    

    这个if语句,

    
            if i in (0, n//2, n-1):
                print(fullStars)
            else:
                print(threeStars) 
    
    

    可以用三元操作语句写成一个print()

    
            print(fullStars if i in (0, n//2, n-1) else threeStars)
    
    

    字符串手撕*田“最简代码”

    #!/sur/bin/nve python
    # coding: utf-8
    
    
    
    def drawTian(n):
        fullStars = '* '*(n-1)
        fullStars = ' '.join(list('*'*(n-1))) # 全*行也可以是这样子的。
        blank = ' '*(n-3)
        threeStars = '*' + blank + '*' + blank + '*'
    
        for i in range(n): # 字符串格式化循环逐行输出*田形状。
            print(fullStars if i in (0, n//2, n-1) else threeStars)
    
    
    
    if __name__ == '__main__':
    
        for i in range(3, 10):
            print()
            drawTian(2*i-1)
    
    

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 10月24日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表