【问题标题】:Getting to put a dollar sign in the answer在答案中加上美元符号
【发布时间】:2020-04-23 02:57:21
【问题描述】:

当我尝试在此处执行此代码时,得到的答案与预期的不同

print("Cost of purchasing",color,"paint:",'$',(cost))

我明白了:Cost of purchasing red paint: $ 35

而不是这个:Cost of purchasing red paint: $35

在 python 3 中执行此代码时,如何在将美元符号放在引号中后去掉空格?顺便说一句,这是一个更大问题的一部分,因为我对它的方式有疑问。格式化。

【问题讨论】:

  • 我无法完全复制它。但是cost 周围的括号可能使它成为一个集合。不过不确定。

标签: python python-3.x currency


【解决方案1】:

使用加号:

print("Cost of purchasing: " + color + "Paint: $" + cost)

甚至更好 - 格式化:

print(f"Cost of purchasing: {color} Paint: ${cost}")

【讨论】:

    【解决方案2】:

    向打印语句传递多个值会在它们之间放置分隔符,默认情况下是空格。如果您不想要空间,最简单的更改方法是将项目与+ 连接起来,而不是同时打印它们。

    print("Cost of purchasing",color,"paint:",'$' + (cost))
    

    【讨论】:

    • 在 Python 中对字符串使用 + 运算符效率低下,不应该这样做。使用字符串格式或(在较新的 Python 版本中)f-strings:f"Cost of purchasing: {color} Paint: ${cost}"
    • @KlausD。只是好奇,究竟是怎么回事?就时间而言,从我从其他人和我的机器上看到的结果来看,连接和 f 字符串往往非常接近,即使在大样本量下也会来回走动,但 .format() 的速度要慢一些。由于连接的性能非常好,我认为没有太多理由违背个人喜好。
    • 使用 + 运算符 n 次创建 n+1 个对象,这些对象的大小会增加并且必须进行垃圾回收。
    猜你喜欢
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 2010-12-14
    • 2015-08-05
    • 1970-01-01
    • 2010-10-26
    相关资源
    最近更新 更多