-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_stringfah_two

于 2012-08-02T03:51:47.910 に答える
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 に答える
0

さらに、私はtemp * 9 / 5あるべきだと思いますtemp * 9 / 5.0

于 2012-08-02T04:09:03.660 に答える