Почему я получаю ошибку типа для этой функции ввода - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь написать программу, которая запрашивает количество секунд между молнией и громом и сообщает расстояние от шторма, округленное до двух знаков после запятой.

n = input('Enter the number of seconds between lightning and storm') 
1.25
print('Distance from storm',n/5)

Однако, когда я вызываю функцию печатиЯ получаю следующее сообщение об ошибке:

Traceback (most recent call last):

   File "<ipython-input-106-86c5a1884a8d>", line 1, in <module>
     print('Distance from storm',n/5)

TypeError: unsupported operand type(s) for /: 'str' and 'int'

Как мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Вы можете принять входные данные, как в int или с плавающей точкой , а затем продолжить дальнейшие операции.

n = int(input('Enter the number of seconds between lightning and storm   '))
Enter the number of seconds between lightning and storm   99

print('Distance from storm',n/5)

OutPut:

('Distance from storm', 19)
0 голосов
/ 29 января 2019

Вам необходимо преобразовать n в int или float (что всегда соответствует вашим требованиям), поскольку это string:

Функция input() возвращает строкуи, следовательно, вы не можете применить деление, поэтому возникает ошибка:

TypeError: unsupported operand type(s) for /: 'str' and 'int'

Таким образом, вам нужно преобразовать его:

n = input('Enter the number of seconds between lightning and storm')
1.25
print('Distance from storm',int(n)/5)

ВЫХОД:

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