Неподдерживаемый операнд всех математических символов и чисел?

Моя главная ошибка, которую я получаю:

Ошибка типа: неподдерживаемые типы операндов для /: 'str' и 'int'

#Name variables/imports. Ask usr for scale lengh and num of frets
import math

scalelenth = input ("please inter a number for scale \n > " ) 
constnum = 17.817

#Calculate Fret one distance 
fretum = scalelenth / constnum 

print("this is scale lenth %d " %scalelenth)

3 ответа

В Python3 input() возвращает строку Вам необходимо преобразовать его в число:

scalelenth = int(input("Please enter a number for scale \n > "))

Если вы хотите включить десятичные дроби, используйте float():

scalelenth = float(input("Please enter a number for scale \n > "))

Вам нужно сначала преобразовать строку в плавающее, а затем выполнить вычисления:

fretum = float(scalelenth) / constnum 

scalelength является строкой (при условии, что вы используете python3.x) и str * float не работает (что бы это делало?)

Исправление заключается в преобразовании строки в число с плавающей точкой:

fretum = float(scalelength)/ constnum
Другие вопросы по тегам