python - 为什么我的 python 代码中的每一行后面都有空格?
问题描述
所以,我在一个竞争性的编码网站上解决了这个问题,它不接受我的答案,我认为这是因为我的输出在每一行之后都有空间。
我想知道为什么会出现这个空间以及我可以做些什么来更改我的代码(想知道我做错了什么。)这样它就不会留下一条线。
这是问题所在:
文森特先生在一家门垫制造公司工作。有一天,他设计了一种新的门垫,规格如下:
垫子尺寸必须为 NxM。(N 是一个奇数的自然数,M 是 N 的 3 倍。)设计应该在中心写上“WELCOME”。设计模式应该只使用 |, 。和 - 字符。
样品设计:
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("\n", end="\n")
改用普通print()
的,没有明确的换行符。
推荐阅读
- scala - Spark 向 Scala 类的构造函数添加隐藏参数
- xamarin.forms - ELCImagePicker - NuGet 包
- css - bootstrap4 Flex 的柱高不等
- javascript - 使用 setAttribute() 添加“onclick”函数
- c# - 尝试显示表单时出错
- ios - 嵌入在 UITableView 中的 UICollectionView 中的 UICollectionViewCells 未按预期显示
- clojure - “警告:指定的主类在 jar 中不存在。” 在组合 Clojure + Clojurescript 重新框架项目中
- c++ - 使用继承的类模板避免公共成员不可见和源代码膨胀/重复的更好方法?
- mongodb - MongoDB中位置为空时如何存储GeoJSON
- vb.net - 尝试打开控件/表单的代码会弹出表单设计器代码