油毡瓦公司最近建立了一个新的在线商店,并展示其进入数字空间,它希望允许其成员创建自定义数字瓷砖。 数字图块的示例如下。
tile(磁贴)公司已要求您编写一个程序,该程序将根据某些命令行参数输出数字磁贴。
第一个命令行参数是tile(磁贴)的高度
第二个命令行参数是成员的名称,应该包含在磁贴中心的大写字母中
有一些限制要记住瓷砖的大小。
图块的高度必须是奇整数。
瓷砖的宽度恰好是瓷砖高度的3倍
成员的名称必须符合图块的宽度,否则无法生成图块
您可以假设将提供所有命令行参数,并且可以将第一个参数强制转换为整数。
我已经写的:
import sys
height = int(sys.argv[1])
name = sys.argv[2]
width = 3 * height
print("---"*(height//2)+)
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))
import sys
height = int(sys.argv[1])
name = sys.argv[2].upper()
# 测试
# height = 13 # 高度
# name = 'xianxian' # 姓名
num = int((height - 1) / 2) # +|+的个数
width = 6 + (2*num) * 3
for i in range(num):
print(("+|+" * (2*i + 1)).center(width, '-'))
print(name.center(width, '-'))
for i in range(num):
print(("+|+" * ((2*num-1) - 2*i)).center(width, '-'))
# encoding: utf-8
n = 7
name = 'samuel'
for i in range(1, n / 2):
print(('-' * (3 + (n / 2 - i - 1) * 3)) + ('+|+') * (i * 2 - 1) + ('-' * (3 + (n / 2 - i - 1) * 3)))
print(('-' * ((n / 2) * 3 / 2 + len(name) / 2 + len(name) % 2)) + name.upper() + ('-' * ((n / 2) * 3 / 2 + len(name) / 2)))
for i in range(1, n / 2):
print(('-' * (3 + (n / 2 - (n / 2 - i + 1) - 1) * 3)) + ('+|+') * ((n / 2 - i + 1) * 2 - 1) + ('-' * (3 + (n / 2 - (n / 2 - i + 1) - 1) * 3)))