[英]Printing a square pattern in Python with one print statement
我想用“#”打印一个方形图案,output 应该是这样的:
# # # # #
# #
# #
# #
# # # # #
我能够编写的代码是这样的:
n=10
for i in range (1,6):
for j in range(1,6):
if i ==1 or 1==n or j==1 or j==n:
print("#", end= ' ')
else:
print(" ", end="")
print()
来的output是这样的:
# # # # #
#
#
#
#
我也想知道是否可以只有一个打印语句而不是多个。 谢谢你。
这行得通!
s=5
print(" ".join("#"*s))
for i in range(0,s-2):
print("#"+" "*(s+2)+"#")
print(" ".join("#"*s))
>>>
# # # # #
# #
# #
# #
# # # # #
单线:
print(" ".join("#"*s)+"\n"+("#"+" "*(s+2)+"#"+"\n")*(s-2)+" ".join("#"*s))
>>>
# # # # #
# #
# #
# #
# # # # #
一个简单的单线填充整个正方形可能是
size = 6
print('\n'.join([' '.join('#' * size)] * size))
或者,如果您想在原件中使用相同的图案
print(' '.join('#' * size))
print('\n'.join('#' * (size - 1)))
我注意到标签之间的空格,使用这个 function 它也应该给你自定义尺寸
def createSquare(xLen,yLen):
for i in range(1,yLen):
if i == 1 or i == yLen-1:
print("# "*xLen)
else:
print("#"+" "*int(xLen*2-3)+"#")
createSquare(10,10)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.