Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11

Ошибка в коде

04.10.2019, 14:37. Показов 2420. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Сразу скажу, что я новичок и могу тупить)

В общем, есть задача. Условие: Ввести с клавиатуры длины двух сторон треугольника и угол между ними в градусах. Рассчитать и вывести на экран площадь треугольника.

На бумаге решается очень просто, с помощью формулы s=1/2*a*b*sin(c), где a, b - известные стороны треугольника, c -угол между ними.

Мой код:
Python
1
2
3
4
5
6
7
import math
a = float(input('a = '))
b = float(input('b = '))
x = float(input('sin(c) = '))
sin(c) = math.sin(math.degrees(x))
s = 1/2 * a * b * sin(c)
print(f's = {s: 3f}')
Если ввести, допустим, a=5, b=7, sin(c)=30, то получается -1,71..... и это неправильный ответ. При заданных сторонах и углах будет 8,75. В чем ошибка не пойму, помогите плз.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.10.2019, 14:37
Ответы с готовыми решениями:

Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде)
Задание: Осуществить взаимодействие клиента и сервера на основе протокола TCP/IP. Реализовать параллельное соединение с использованием...

Ошибка 150 при создании таблицы, ошибка в коде?
Код генерируется программой, но работать на сервере нехочет, к сожелению попойму где там может быть ошибка. Опытным путём выяснил что...

Ошибка с графикой в приложении Windows form (ошибка не в коде!)
Всем доброго времени суток! Написал программу в windows form. Несколько раз скомпилировал и все хорошо. Сейчас попробовал снова запустить...

18
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 14:53
MishanyaZ,

1) sin(c) - это так работает да?
2) degrees -> radians

Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
# -*- coding: utf-8 -*-
 
import math
 
def area_of_triangle(a:float, b:float, c:int)->float:
    return a * b * math.sin(math.radians(c)) / 2
 
print(f"{area_of_triangle(5, 7, 30)}")
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 15:17  [ТС]
Неа, не так. Во-первых, значения a, b, c вводить нужно с клавы, через input, то я для примера взял 5, 7 и 30, чтобы показать, что считает неправильно. Во-вторых, функции еще не проходили и их нельзя использовать
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 15:27
Лучший ответ Сообщение было отмечено MishanyaZ как решение

Решение

MishanyaZ, вы можете переделать этот код сами.

Добавлено через 2 минуты
Не так и сложно, так ведь?
Python
1
2
3
4
5
6
7
8
9
# -*- coding: utf-8 -*-
 
import math
 
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
s = a * b * math.sin(math.radians(c)) / 2
print(f's = {s:.3f}')
2
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 15:32  [ТС]
DmFat, в смысле ваш код, но без функций и с input? Не уверен) Повторюсь, новичок зеленый я.

Добавлено через 1 минуту
Ооо, спасибо, так я не думал)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
04.10.2019, 15:34

Не по теме:

Цитата Сообщение от MishanyaZ Посмотреть сообщение
и могу тупить)
это право каждому гарантируется конвенцией ООН о правах человека)))



Цитата Сообщение от MishanyaZ Посмотреть сообщение
sin(c) = math.sin(math.degrees(x))
хочешь сказать что вот так вообще запускалось?
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 15:35
MishanyaZ, Совет: перед использованием каких либо функций особенно из модулей(например: math), откройте документацию, и прочтите что она делает.
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 15:36  [ТС]
DmFat, вот попробовал и все равно получается -7.171. И вот в чем проблема-то я не пойму. Вроде бы и мой код должен был правильно считать, но нет.
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 15:38
MishanyaZ,

math.degrees(X) - конвертирует радианы в градусы.

math.radians(X) - конвертирует градусы в радианы.
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 15:43  [ТС]
Welemir1, там было не sin(c), а sinC и запускалось

Добавлено через 3 минуты
DmFat, насколько я знаю, изначально если просто через math.sin, то высчитывать будет в радианах, а мне нужен ввод и ответ в градусах. И вот теперь подумал, что если ввод у меня в градусах, то ответ получается в радианах и поэтому так?
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 15:49
MishanyaZ, начните пожалуйста читать документацию и учебник по алгебре.
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 15:54  [ТС]
DmFat, читал я возможности модуля math. Не сразу ж на форум полез спрашивать почему не так. Код ваш таки работает правильно, я в своем radians на degrees поменял и получилось неправильно.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,687
Записей в блоге: 29
04.10.2019, 15:55
DmFat, ты добрый)
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 15:56
MishanyaZ, покажите как вы поменяли, ставлю пиво товарищу Welemir1, если вы правильно поменяли и это вселенская ошибка Python'a.
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 15:59  [ТС]
DmFat, ваш код:
Python
1
2
3
4
5
6
7
import math
 
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
s = a * b * math.sin(math.radians(c)) / 2
print(f's = {s:.3f}')
то что я поменял в вашем:
Python
1
2
3
4
5
6
7
import math
 
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
s = a * b * math.sin(math.degrees(c)) / 2
print(f's = {s:.3f}')
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 16:06
MishanyaZ, а зачем вы это поменяли?
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 16:21  [ТС]
DmFat, говорю же, что я вычитал, что в питоне углы изначально в радианах. Поправьте, если ошибаюсь. А math.degrees(X) конвертирует радианы в градусы. То есть, я так понимаю, что если я просто сделаю так
Python
1
s = a * b * math.sin(c) / 2
, то ответ будет верным.

Добавлено через 8 минут
DmFat, все, доперло) таки в алгебре дело. Спасибо за помощь)
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 16:24
MishanyaZ, не надо писать спасибо, на это есть кнопка: "Лучший ответ" и special 4 u кнопка: "+1 Спасибо"
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
04.10.2019, 16:28  [ТС]
DmFat, злой вы, однако
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2019, 16:28
Помогаю со студенческими работами здесь

Ошибка в коде CS0649. Не понятно почему выдает данную ошибку.Также ошибка в форме со словом ref
Код Класса using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; ...

Ошибки в коде Qt - ошибка: undefined reference to `qMain(int, char**)'; ошибка: error: ld returned 1 exit status
Здравствуйте, есть проект в нем 2 ошибки, не очень понимаю как их можно решить. Помогите, буду признателен! Вот main.cpp #include...

Ошибка в коде (Ошибка сегментирования (core dumped)
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

Ошибка в коде и ошибка HTTP 400
Здарова всем, у меня тут проблема случилась, я только начинаю программировать. Выдает ошибку HTTP Error 400, проблему нашел, заключалась...

Ошибка в коде , ошибка 200
Всем привет, помогите пожалуйста, я новичек в Паскале, вот программа, суть её переводить любое число в любую систему исчесления, но вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru