如何解决为什么我写下的代码无法正常工作?
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
就像一个传递给打印的标志,用来告诉它传递给不同参数的字符是什么
这可能必须专门针对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)
不是字符串连接。您使用逗号分隔了两个变量。因此,您插入了两个变量并创建了一个元组,结果为('Total price is ',36.0)
。
为清楚起见,它等同于:
x = ("Total price is" + " ",total_price) #create a tuple
print x
请注意,在python 3上,这两个将输出相同的输出。由于print更像是带有参数的函数print(...)
。
所以,它不能正常工作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。