-3

这是我的代码:

# Note: Return a string of 2 decimal places.
def Cel2Fah(temp): 
    fah = float((temp*9/5)+32)
    fah_two = (%.2f) % fah
    fah_string = str(fah_two)
    return fah_string

这是我应该得到的:

>>> Cel2Fah(28.0)
    '82.40'
>>> Cel2Fah(0.00)
    '32.00'

但我收到一个错误:

Traceback (most recent call last):
File "Code", line 4
fah_two = (%.2f) % fah
^
SyntaxError: invalid syntax

我不确定发生了什么...

由于某种原因,这似乎也不起作用:

# Note: Return a string of 2 decimal places.
def Cel2Fah(temp): 
    fah = temp*9/5+32
    fah_cut = str(fah).split()
    while len(fah_cut) > 4:
        fah_cut.pop()
    fah_shorter = fah_cut
    return fah_shorter
4

3 回答 3

4

看起来你想要:

fah_two = "%.2f" % fah

格式化操作符的结果%是字符串,所以不需要fah_string,因为fah_two已经是字符串了。

于 2012-08-02T03:51:47.910 回答
0

此外,我认为temp * 9 / 5应该是temp * 9 / 5.0

于 2012-08-02T04:09:03.660 回答
0
sucmac:~ ajung$ cat x.py 
def toF(cel):
    return '%.2f' % (cel * 1.8 +32)

print toF(0)
print toF(50)
print toF(100)

sucmac:~ ajung$ python x.py 
32.00
122.00
212.00
于 2012-08-02T04:20:30.073 回答