如何将字符串转换为浮点数? (温度转换器)

时间:2019-03-25 13:35:12

标签: python-3.x

我做一个练习,要求我建造一个温度转换器。 我需要问用户他需要转换什么温度,然后最后一个字母c或f转换温度。

我们还没有学会如何使用def:,只要求我使用if和elif语句。 这是我尝试过的事情之一,但似乎对我没有帮助:

temp = (input('enter a temperature you would like to convert: ')

if temp[-1] == 'c':
    print(float(temp -32)/ 1.8) + 'f'
elif temp[-1] == 'f':
    print(float(temp * 1.8) + 32) + 'c'

2 个答案:

答案 0 :(得分:0)

您在输入语句前面有一个不匹配的空心括号。您的print语句中也有一些问题。您尚未将c / f从转换转换为float,而是需要将总和转换回str才能再次添加c / f。

temp = input('enter a temperature you would like to convert: ')

if temp[-1] == 'c':
    print(str((float(temp[:-1]) -32)/ 1.8) + 'f')
elif temp[-1] == 'f':
    print(str(float(temp[:-1]) * 1.8 + 32) + 'c')

实际转换也不正确...

答案 1 :(得分:0)

应该是这样的:

temp = input('enter a temperature you would like to convert: ')

if temp[-1] == 'c':
    print(str((float(temp[:-1]) * (9/5)) + 32) + 'f')
elif temp[-1] == 'f':
    print(str((float(temp[:-1]) + 32) * (5/9) ) + 'c')

您使用的转换公式不正确。这是正确的:

输入11

  • 从F到C:(11°F − 32) × 5/9 = -11.67°C
  • 从C到F:(11°C × 9/5) + 32 = 51.8°F