3

好的,我已将代码编辑到希望可以工作的位置,但出现 TypeError:不能将序列乘以“浮点”类型的非整数。

这是我拥有的代码:

uTemp = input("Enter Temperature Variable: ")

cOrF = input("Do you want C for celcius, or F for Farehnheit?: ")

if cOrF:
    F = 1.8 * uTemp + 32
4

2 回答 2

7

该错误告诉您不能将uTemp字符串乘以浮点数 ( 1.8)。这很有意义,对吧?弦的十分之八是多少?转换uTemp为浮点数:

uTemp = float(input("Enter Temperature Variable: "))

您的下一个问题是将cOrF其视为布尔(真/假)值,这意味着如果用户在该提示符处输入任何内容F,则将计算该值,因为所有非空字符串在 Python 中都是真实的。所以你会写:

if cOrF == "F":
    F = 1.8 * uTemp + 32
于 2013-09-06T23:56:13.977 回答
6

input()在 python 3.x 中返回一个字符串。

将其转换为float(或转换为int- 取决于您的需要):

uTemp = float(input("Enter Temperature Variable: "))
于 2013-09-06T23:51:43.963 回答