python - 如何在 python3 中不使用 \n 添加新行?
问题描述
我是初学者,我正在尝试制作一个输入名称并以*
(星形)模式打印名称的程序,我定义了返回 A 和 B*
模式的函数 A 和 B,但是当我将它们组合起来打印时,它们以新的形式打印行,我想在同一行打印它们。我尝试了 print 参数end=''
,或者sep=''
它不起作用。
def A(size = 10):
final = str()
height = size
breath = size
space1 = breath
space2 = 1
midline = int(height/2) + 2 #adjust the position of miline
for x in range(1,height+1):
if x == 1 :
s = ' '*space1 + '*'
elif x == midline :
s = ' '*space1 + '*' + '*'*space2 + '*'
space2 = space2 + 2
else :
s = ' '*space1 + '*' + ' '*space2 + '*'
space2 = space2 + 2
space1 = space1 - 1
final = final + '\n' + s
return final
def B(size=10):
final = str()
height = size
breath = size
space = breath - 2
curve = 3
for x in range(1,height+1):
if x == (height//2 + 1):
s = '*'*(breath - curve)
s = s + ' '*(breath-len(s))
elif x == 1 or x == height:
s = '*' * (breath-curve)
s = s + ' '*(breath-len(s))
elif x == 2 or x == (height-1):
s = '*'+ ' '*(breath-curve) + '*'
s = s + ' '*(breath-len(s))
elif x == (height//2 + 1)-1 or x == (height//2 + 1)+1:
s = '*'+ ' '*(breath-curve) + '*'
s = s + ' '*(breath-len(s))
else:
s = '*' + ' '*space + '*'
s = s + ' '*(breath-len(s))
final = final + '\n' + s
return final
print(B())
解决方案
如果您想打印它们,AA
或者AB
您需要更改逻辑。因为当您调用单个A()
python 时,将使用您使用过的所有内容打印它newlines
。您可以执行以下操作
def A(size=10):
final = str()
height = size
breath = size
space1 = breath
space2 = 1
midline = int(height / 2) + 2 # adjust the position of miline
for x in range(1, height + 1):
if x == 1:
s = ' ' * space1 + '*' + ' ' * space1
elif x == midline:
s = ' ' * space1 + '*' + '*' * space2 + '*' + ' ' * space1
space2 = space2 + 2
else:
s = ' ' * space1 + '*' + ' ' * space2 + '*' + ' ' * space1
space2 = space2 + 2
space1 = space1 - 1
final = final + '\n' + s
return final
a1 = A().split('\n')
a2 = A().split('\n')
for i in range(len(a1)):
print(a1[i] + a2[i])
我在A()
这里修改了。在这里,我取出了这封信,然后使用\n
. 然后连接每一行并打印。创建字母时,在一行中打印的最后一个星号后使用相同数量的空格。
推荐阅读
- javascript - 如何在 Google Apps 脚本中使用变量作为哈希表键?
- javascript - Visual Studio IDE 无法识别 Javascript 中的 EJS 变量
- javascript - Angular 6 - 检查后表达式已更改,构建模式
- node.js - nodejs pool.query 和函数
- git - 适用于不同基本提交的补丁文件?
- javascript - 多次循环渲染对话框组件
- python - 通过在 python 中覆盖 __new__ 来限制实例总数
- python-3.x - 我想在 python 示例中用 '\\' 重命名 '\' :C:\Users\Performance_stats.xlsx 和 C:\\Users\\Performance_stats.xlsx
- mysql - 如何正确匹配左连接?
- user-interface - Delphi - 如何以编程方式使模态对话框像点击背景表单的事件一样做出反应