我正在学习Python,并且在打印已经分配的变量时遇到了一些麻烦。例如:
编写Python语句,使用已分配的变量 first,middle,和 last:
打印下一个格式化的输出>>>first = 'Marlena'
>>>last = 'Sigel'
>>>middle = 'Mae'
a) Sigel, Marlena Mae
b) Sigel, Marlena M.
c) Marlena M. Sigel
d) M. M. Sigel
---部分a)我得到了这个:
>>> print (last, first, sep=' , ' + middle)
Sigel , MaeMarlena
如何在Mae和Marlena之间获得空间?
对于b,c和d,如何在不将其更改为字符串的情况下执行此操作?
答案 0 :(得分:2)
我认为最好的方法是使用python' format。这是Guido更喜欢python3的格式。
a)Sigel,Marlena Mae
print(u"{0}, {1} {2}".format(last, first, middle))
b)Sigel,Marlena M。
print(u"{0}, {1} {2}.".format(last, first, middle[0]))c)Marlena M. Sigel
print(u"{0} {1}. {2}".format(first, middle[0], last))
d)M. M. Sigel
print(u"{0}. {1}. {2}".format(first[0], middle[0], last))
答案 1 :(得分:0)
当涉及到print函数中的参数时,Python将字符串作为默认类型。使用此:
# Sigel, Marlena Mae
print(", ".join([last,first+" "+middle]))
# Sigel, Marlena M.
print(", ".join([last,first+" "+middle[0]+"."]))
剩下的应该是可以理解的!
如果您不想进入“加入”功能并希望将其作为新的Python学习者完成,那么更简单的版本:
# Sigel, Marlena Mae
print(last+", "+first+" "+middle)
# Sigel, Marlena M.
print(last+", "+first+" "+middle[0]+".")
答案 2 :(得分:0)
first='Marlena'
middle='Mae'
last='Sigel'
print('%s, %s %s' % (last, middle, first))
print('%s, %s %s.' % (last, first, middle[0]))
print('%s %s. %s' % (first, middle[0], last))
print('%s. %s. %s' % (first[0], middle[0], last))
答案 3 :(得分:0)
.format的其他方式
print "{}, {} {}".format(last,first,middle)
print "{}, {} {}.".format(last,first,middle[0])
print "{} {}. {}".format(first,middle[0],last)
print "{}. {}. {}".format(first[0],middle[0],last)