[英]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.