題解|ZeroJudge d051. 糟糕,我發燒了!
【題目】d051. 糟糕,我發燒了!
題解
1 | f=int(input()) |
解說
本題簡單來說就是希望華氏溫標轉攝氏溫標。
提示:攝氏=(華氏-32)*5/9
所以我們可以寫出公式:
2 | c=(f-32)*5/9 |
接著就是輸出格式的部分,
在看到題目說小數點以下三位,可能會很本能地想用round()
但是!請注意,假如使用round()
,可能導致輸出結果並非固定到小數點後3位。
例如
1 | x = 3.100000 |
輸出結果為
3.1 |
我們必須保證輸出結果必為顯示到小數點後3位。
因此我們今天採用f-string的寫法
3 | print(f"{c:.3f}") |
{c:.3f}
的意義是:對於變數c,我希望我的輸出是到小數點後第3位
假如今天題目要求是輸出到小數點後第2位,則改成{c:.2f}
,依此類推…
這樣,即可保證輸出結果到小數點後第3位。
結語
以上就是本題題解,今天練習了f-string跟浮點數的輸出。
倘內容有誤或仍有疑問,歡迎在下方留言區留言!