TypeError: не может умножить последовательность на non-int типа 'str'

>>> Enter muzzle velocity (m/2): 60 Enter angle (degrees): 45 Traceback (most recent call last): File "F:/Python31/Lib/idlelib/test", line 9, in <module> range() File "F:/Python31/Lib/idlelib/test", line 7, in range Distance = float(decimal((2*(x*x))((decimal(math.zsin(y)))*(decimal(math.acos(y)))))/2) TypeError: can't multiply sequence by non-int of type 'str' 

Я только новичок, поэтому не будьте слишком суровы, если это действительно очевидно, но почему я получаю эту ошибку?

3 Solutions collect form web for “TypeError: не может умножить последовательность на non-int типа 'str'”

Вы должны преобразовать данные, полученные с консоли, в целые числа:

 x = int(x) y = int(y) Distance = float(decimal((2*(x*x))((decimal(math.zsin(y)))*(decimal(math.acos(y)))))/2) 
 >>> '60' * '60' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can't multiply sequence by non-int of type 'str' 

Вы пытаетесь размножить две строки вместе. Вы должны преобразовать строку ввода от пользователя к числу с помощью int() или float() .

Кроме того, я не уверен, что вы делаете с decimal ; похоже, вы пытаетесь вызвать модуль (тип находится в модуле, decimal.Decimal ), но нет смысла конвертировать в десятичное число после выполнения математики с плавающей запятой, а затем преобразовывать обратно в float .

В будущем отправьте код, который вызывает проблему (и сохраните взаимодействие и трассировку). Но сначала попробуйте и сократите код как можно больше, убедившись, что он все еще вызывает ошибку. Это важный шаг в отладке.

Вы используете raw_input () для получения ввода. Вместо этого используйте input (). Он вернет Int. Убедитесь, что вы вводите только цифры или input () вызовет ошибку (скажем, в случае строки). Кроме того, было бы неплохо, если бы вы правильно указали свои переменные. x и y не передают много. (скорость и угол были бы намного лучше)

  • Получение шести и шести модулей для автозаполнения в pycharm
  • Как я могу убедиться, что пользователь вводит только «y» или «n» в программу?
  • Неожиданное изменение значений списка
  • Python: печать файла на stdout
  • использование методов класса в качестве задач сельдерея
  • spider IDE python. Разница в работе при нажатии F5 и F9?
  • Должен ли я вернуть пустой символ вместо «Нет»?
  • Python __str__ и списки
  •  
    Interesting Posts for Van-Lav

    Оценки и условия Scipy curve_fit

    Как я могу получить взвешенный случайный выбор из класса Counter в Python?

    Как избежать замораживания GUI при связывании скрипта muliprocessing python, связанного с gui (скрипт python должен работать в фоновом режиме)

    Python numpy recarray: Можно ли получить представление в разных полях, используя арифметику указателя?

    Список таблиц, db-схемы, дампа и т. Д. С использованием API-интерфейса Python sqlite3

    Сделать отдельные значения массива для одиночного числа в Python

    пул многопроцессорности python2.5

    В драйвере не указаны файлы Google Диска

    Моя программа Python очень медленная! Как я могу ускорить его? Я делаю что-то неправильно?

    Неблокирование чтения на os.pipe в Windows

    Как я могу быстрее перебирать пиксели изображений в python?

    Как я могу использовать Django Social Auth для подключения к Twitter?

    Использование os.forkpty () для создания псевдотерминала для ssh на удаленный сервер и для связи с ним

    numpy объединяет два массива по вертикали

    Почему идентификатор класса Python не уникален при вызове быстро?

    Python - лучший язык программирования в мире.