weixin_42338831 2019-09-02 14:14 采纳率: 50%
浏览 254
已采纳

Python3 根据命令行给的参数打印图像

油毡瓦公司最近建立了一个新的在线商店,并展示其进入数字空间,它希望允许其成员创建自定义数字瓷砖。 数字图块的示例如下。
图片说明
tile(磁贴)公司已要求您编写一个程序,该程序将根据某些命令行参数输出数字磁贴。

第一个命令行参数是tile(磁贴)的高度

第二个命令行参数是成员的名称,应该包含在磁贴中心的大写字母中

有一些限制要记住瓷砖的大小。

图块的高度必须是奇整数。

瓷砖的宽度恰好是瓷砖高度的3倍

成员的名称必须符合图块的宽度,否则无法生成图块

您可以假设将提供所有命令行参数,并且可以将第一个参数强制转换为整数。
图片说明

图片说明
图片说明

我已经写的:

import sys
height = int(sys.argv[1])
name = sys.argv[2]
width = 3 * height
print("---"*(height//2)+)

  • 写回答

3条回答 默认 最新

  • J4cks0n 2019-09-02 17:22
    关注
    import sys
    
    if len(sys.argv) == 1:
        print("Error: Usage like python a.py 5 tommy")
        exit(0)
    
    height = int(sys.argv[1])
    if height%2 == 0:
        print("Error: title height must be an odd number")
        exit(0)
    
    width = 3 * height
    name = sys.argv[2]
    if(len(name) > width or len(name) == width or (width-len(name))%2 != 0):
        print("Error: name must fit within %d characters"%width)
        exit(0)
    
    
    for i in range(1,(height-1)//2+1,1):
        print("-"*((width-3*(2*i-1))//2) + "+|+"*(2*i-1) + "-"*((width-3*(2*i-1))//2))
    
    print("-"*((width-len(name))//2) + name + "-"*((width-len(name))//2))
    
    for i in range((height-1)//2,0,-1):
        print("-"*((width-3*(2*i-1))//2) + "+|+"*(2*i-1) + "-"*((width-3*(2*i-1))//2))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记