【问题标题】:How do I add a text variable after a number variable sum in Python 34?如何在 Python 34 中的数字变量 sum 之后添加文本变量?
【发布时间】:2014-10-21 18:46:33
【问题描述】:
print("This program calculates information about rectangles/squares.")
length = float(input("The length is "))
width = float(input("The width is "))
unit = input("The unit of measurement is ")
print()
print("The area is ", length * width)
print("The perimeter is ", 2 * length")

我需要添加用户输入,以便在测量结束时显示单位。例如,如果用户输入 cm 作为测量单位,我想要 x cm;而不仅仅是 x。

【问题讨论】:

  • 计算之前的结果并与string.format一起使用。您可能还想检查周长公式...
  • @ydaetskcoR:还有面积公式; 3 cm x 4 cm 长方形的面积不是 12 cm,而是 12 cm^2…

标签: python variables text floating-point numbers


【解决方案1】:

只需加一个逗号:

print("The area is ", length * width, unit)

print 函数只是将每个参数转换为一个字符串,* 并将它们打印在一行上,每个参数之间有一个空格。**

就像你可以用它来打印"The area is "一样,你可以用它来打印unit中的任何东西;如果是"cm",它将打印The area is 42 cm

(请注意,您可能不希望在"The area is " 的末尾有那个空格,因为print 已经准备在那里添加一个。)

一般来说,一旦你超越了琐碎的情况,使用字符串格式通常更易读。但是对于简单的情况(在你学习的时候,对于快速和肮脏的脚本,对于探索性调试等),带有多个参数的print 通常是可以的。


* 转换为字符串的字符串就是它本身,你已经可以通过"The area is " 看到它。

** 虽然您可以使用关键字参数endsep 配置“一行”和“中间有一个空格”;查看链接的文档。

【讨论】:

  • 我仍然收到NameError。 Cm 没有被定义,类似的东西。 length = float(input("The length is ")) width = float(input("The width is ")) unit = input("The unit of measurement is ") print() print("The area is ", length * width, unit) print("The perimeter is ", 2 * length + 2 * width, unit)
  • @SpontaneousCombustion:这是一个不同的问题,所以你应该提出一个不同的问题……但我敢打赌我知道出了什么问题。您正在尝试编写 Python 3 代码,但您使用的是 Python 2。在 Python 2 中,input 尝试评估用户的输入,就好像它是 Python 源代码一样;你想要raw_input。此外,您不希望 Python 2 中的 print 参数周围有括号。
  • @ch3ka:当然可以。好吧,它缺少一个句号,而且你没有大写第一个字母(但我和 OP 都大写了),显然cm 是用于区域的错误单位,但你认为它有什么问题一句话?
  • “它不是一个区域单位”的东西。虽然语法正确,但说(或打印)这样一个句子是没有意义的。
  • @ch3ka:好的,它一个有效的(英语)句子,但它在数学上很愚蠢,同意。
猜你喜欢
  • 1970-01-01
  • 2012-08-07
  • 1970-01-01
  • 1970-01-01
  • 2014-10-19
  • 2012-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多