[英]Why isn't the code I wrote down working properly?
total_price = 0
sneakers = 36.00
total_price += sneakers
print("Total price is" + " " + str(total_price))
print("Total price is" + " " , total_price) << This one doesn`t work properly.
这两个语句是这样工作的
Total price is 36.0
('Total price is ', 36.0)
为什么第一个和第二个不一样?
将此行用于第二次打印
print("Total price is"+" ", total_price, sep='')
因为打印默认为sep=' '
所以添加额外的空间,而如果使用+
你在这种情况下连接文本文本(与 printf 相同的参数)
sep
就像一个传递给 print 的标志,告诉它什么字符分隔传递给它的不同参数
这可能必须专门在 python 2 上执行。 python 2 上的打印语法是
print ...
而不是 Python 3 中的print(...)
所以第一个与字符串连接有关。 在你的第一行代码中
"Total price is" + " " + str(total_price)
这将产生一个新的字符串"Total price is"
、 " "
和str(total_price)
组合。 (即结果字符串是"Total price is 36.0"
)。 它相当于
x = "Total price is" + " " + str(total_price)
print x
请注意,如果只在()
之间插入一个变量,它不会成为元组,因为元组需要 2 个或更多变量。 所以(x) == x
第二个
("Total price is" + " " , total_price)
不是字符串连接。 您使用逗号分隔 2 个变量。 因此,您插入了两个变量并创建了一个元组,因此结果为('Total price is ', 36.0)
。
为了清楚起见,它相当于:
x = ("Total price is" + " ", total_price) #create a tuple
print x
请注意,在 python 3 上,这两个将打印相同的输出。 因为 print 更像是一个带有参数的函数print(...)
。
所以,它不能正常工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.