3 回答
TA贡献1825条经验 获得超6个赞
在没有换行符的情况下打印您想要的任何输出的最直接方法是使用sys.stdout.write. 这会向 写入一个字符串stdout而不附加新行。
>>> import sys
>>> sys.stdout.write("foo")
foo>>> sys.stdout.flush()
>>>
正如你在上面看到的,"foo"没有换行符。
TA贡献1796条经验 获得超7个赞
试试这个算法:
length = int(input("Enter size of pyramid."))
# Build left side, then rotate and print all in one line
for i in range(0, length):
spaces = [" "] * (length - i - 1)
hashes = ["#"] * (1 + i)
builder = spaces + hashes + [" "]
line = ''.join(builder) + ''.join(builder[::-1])
print(line)
TA贡献1794条经验 获得超7个赞
您将end参数乘以哈希数,而不是乘以正文部分。
试试这个修改:
length = int(input("Enter size of pyramid."))
hashes = 2
for i in range(0, length):
spaces = length - (i+1)
hashes = 2+i
print(" " * spaces, end="")
print("#" * hashes, end="")
print(" ", end="")
print("#" * hashes)
添加回答
举报