所以,我在一个有竞争力的编码网站上解决这个问题,它不接受我的答案,我想这是因为我的输出在每一行后面都有空间。你知道吗
我想知道为什么这个空间来了,我可以做些什么来改变我的代码(想知道我做错了什么),这样它就不会留下一行。你知道吗
问题是:
文森特先生在一家门垫制造公司工作。一天,他设计了一个新的门垫,规格如下:
垫子尺寸必须为NxM。(N是奇数自然数,M是N的3倍。) 设计应该有'欢迎'写在中心。 设计模式只能使用|、。和-字符。你知道吗
样品设计:
Size: 7 x 21
---------.|.---------
------.|..|..|.------
---.|..|..|..|..|.---
-------WELCOME-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------
输入格式:
包含N和M的空间分隔值的单行。 而且,M总是N的3倍
输出格式:
输出设计模式。你知道吗
这是我的代码:
data = input().split()
height = int(data[0])
width = int(data[1])
pattern = ''
def methodA(times):
print("-"*times,end = '')
def methodB(times):
print(".|."*times, end = '')
inputDecrease = (width - 3)//2
inputIncrease = 1
#upperHalfStarts
for i in range(0, height//2 ):
methodA(inputDecrease)
methodB(inputIncrease)
methodA(inputDecrease)
print("\n")
if not i == (height//2-1):
inputDecrease -= 3
inputIncrease += 2
#MiddleLineStarts
temp = (width -7)//2
methodA(temp)
print("WELCOME", end = '')
methodA(temp)
print("\n")
#lowerHalfStarts
for i in range(0, height//2):
methodA(inputDecrease)
methodB(inputIncrease)
methodA(inputDecrease)
print("\n")
inputDecrease += 3
inputIncrease -= 2
这是我的输出:
---------.|.---------
------.|..|..|.------
---.|..|..|..|..|.---
-------WELCOME-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------
预期输出:
---------.|.---------
------.|..|..|.------
---.|..|..|..|..|.---
-------WELCOME-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------
print()
已在行的end
处包含换行符。执行print("\n")
意味着您打印一个显式换行符,加上隐式换行符以结束输出。您可以有效地运行以下命令:改用普通的
print()
,不使用显式换行符。你知道吗相关问题 更多 >
编程相关推荐