一个字符串打印的空格不应该有,不应该有空格

时间:2016-01-23 01:17:05

标签: python python-3.x

下面的输出应该没有空格?输出应该就像整个字符串那样。为什么会发生这种情况,我如何实现所需的结果,顺便说一下,我是python的新手

print   ('this addWeaponCargo ["srifle_DMR_01_DMS_F", 4];')         #     expected print 
print   (add_weapon_to_vehicle,'["',Rahim,'"',",",Quantity,']',';') #   this is output should be like the one at the top , why are there spaces ?

输出

this addWeaponCargo ["srifle_DMR_01_DMS_F", 4];
this addWeaponCargo [" srifle_DMR_01_DMS_F " , 4 ] ;

2 个答案:

答案 0 :(得分:1)

print将在提供的参数之间放置一个空格,所以:

print('a','b') # prints: a b

您可以使用+运算符连接部分,或使用格式字符串:

print('{0} ["{1}", {2}];'.format(add_weapon_to_vehicle, Rahim, Quantity))

答案 1 :(得分:0)

Python 3的print函数有一个名为sep的仅限关键字的参数,如果有多个参数,它将被放在它传递的参数之间。默认情况下,sep是一个空格,但您可以根据需要进行更改。

听起来你不想要空格,所以sep=""会将分隔符设置为空字符串。尝试:

print(add_weapon_to_vehicle, '["',Rahim, '"', ",", Quantity, ']', ';', sep="")

hege_hegedus建议使用字符串格式化的答案也是一个很好的答案,因为当你同时拥有变量部分和字符串输出的常量部分时,它会简化很多事情(例如,{{中的逗号,括号和分号) 1}}以上的调用都是常数)。