下面的输出应该没有空格?输出应该就像整个字符串那样。为什么会发生这种情况,我如何实现所需的结果,顺便说一下,我是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 ] ;
答案 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}}以上的调用都是常数)。