我是 Python 的新手,并尝试使用 print 和 for 循环来打印如下所示的模式,其中块的宽度取决于我要输入的字符,即块和周围线的宽度随字符串的长度动态增加,例如, ABCDEFGHI .. :
????????????
? ABCDE ?
????????????
Run Code Online (Sandbox Code Playgroud)
我正在尝试遍历字符串的字符,例如 -
name = "abcdefghi"
for i in name:
print("?",end="")
print()
for j in range(1):
print("?"+" "*(len(name)-1)+"?")
for k in name:
print("?",end="")
Run Code Online (Sandbox Code Playgroud)
这给了我一个输出,
????????????
? ?
????????????
Run Code Online (Sandbox Code Playgroud)
???
模式?需要关于尝试什么的建议?
'?'
您的示例中有类似的字符,因此您在设计逻辑时需要考虑它们:
name = "abcdefghi"
width = len(name) + 4
print('?' + "?"*width + "?")
print('?' + name.center(width) + '?')
print('?' + "?"*width + "?")
Run Code Online (Sandbox Code Playgroud)
??????????????? ? abcdefghi ? ???????????????