为什么在python代码的每一行后面都有空格?

2024-10-06 07:00:07 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我在一个有竞争力的编码网站上解决这个问题,它不接受我的答案,我想这是因为我的输出在每一行后面都有空间。你知道吗

我想知道为什么这个空间来了,我可以做些什么来改变我的代码(想知道我做错了什么),这样它就不会留下一行。你知道吗

问题是:

文森特先生在一家门垫制造公司工作。一天,他设计了一个新的门垫,规格如下:

垫子尺寸必须为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-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------

Tags: 代码data设计模式空间widthtempendprint
1条回答
网友
1楼 · 发布于 2024-10-06 07:00:07

print()已在行的end处包含换行符。执行print("\n")意味着您打印一个显式换行符,加上隐式换行符以结束输出。您可以有效地运行以下命令:

print("\n", end="\n")

改用普通的print(),不使用显式换行符。你知道吗

相关问题 更多 >