Python 在循环的同一行中放置空格

Python 在循环的同一行中放置空格,python,loops,for-loop,Python,Loops,For Loop,我有一个编程任务,我遇到了麻烦。我99%都完成了,但让我绊倒的是一些小事。这是我的密码: a = 0 b = 0 c = 0 for h in first: a = LetterMap[h] print(a,end="") for h in middle: b = LetterMap[h] print(b,end="") for c in last: c = letterMap[c] print(c,end="") 此块

我有一个编程任务,我遇到了麻烦。我99%都完成了,但让我绊倒的是一些小事。这是我的密码:

a = 0
b = 0
c = 0

for h in first:
    a = LetterMap[h]

    print(a,end="")         

for h in middle:
    b = LetterMap[h]
    print(b,end="")

for c in last:
    c = letterMap[c]
    print(c,end="")
此块和此块之前的输出如下:

first middle last

xxxxxxxxxxxxxxx
我希望是这样的:

first middle last

xxxxx xxxxxx xxxx
试试这个:

for h in first:
    a = LetterMap[h]
    print(a,end="")

print(" ",end="")

for h in middle:
    b = LetterMap[h]
    print(b,end="")

print(" ",end="")

for c in last:
    c = letterMap[c]
    print(c,end="")

我建议使用
str.join
和生成器表达式将翻译后的序列组合成字符串,而不是逐个打印字符:

first_str = "".join(LetterMap[c] for c in first)
middle_str = "".join(LetterMap[c] for c in middle)
last_str = "".join(LetterMap[c] for c in last)
然后,只需一个
print
调用即可打印:

print(first_str, middle_str, last_str) # default separator is a space!
如果您想要更复杂的输出格式(而不仅仅是分隔值的空格),您可以使用
str.format
方法执行任何您想要的格式:

print('{2:<20}{1:_^20}{0!r:*>20}'.format(first_str, middle_str, last_str)

您可以阅读有关字符串格式迷你语言的内容。

只需在第二个和第三个循环之前添加一个
打印(“,end=”“)
?作为旁注,您不需要像现在这样“在顶部声明变量”;这不是C。最后一张
字母地图上应该有大写字母L。也许我很密集,因为其他人似乎都知道,但是变量
第一、中间、最后的值设置在哪里?大概是
first=“first”
?如果是这样,您可以在“第一”中对h执行
baz                 ________bar_________***************'foo'