столкнулся с проблемой при преобразовании Цельсия в Фаренгейт в python. Вот мой код - PullRequest
0 голосов
/ 18 апреля 2020
def cel_to_far(c):
    f=c*9/5+32
    return f
d=input(" enter the celcius scale number:")
print( cel_to_far(d))

и вот проблема в моем коде:

Traceback (most recent call last):
   line 5, in <module>
    print( cel_to_far(d))
 line 2, in cel_to_far
    f=c*9/5+32
TypeError: unsupported operand type(s) for /: 'str' and 'int'

Ответы [ 2 ]

1 голос
/ 18 апреля 2020

Используемая вами функция input принимает пользовательский ввод и сохраняет его в виде строки. Таким образом, 'd' в вашем коде ссылается на строку (даже если эта строка является числом!).

Это можно решить, установив следующее:

d = int(input(" enter the celcius scale number:"))

int функция преобразует число, хранящееся в строке, в целое число

0 голосов
/ 18 апреля 2020

Если вас беспокоит более высокая точность, вы должны go вместо float.

d = float(input(" enter the celcius scale number:"))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...