Вопрос задан 24.06.2023 в 13:31. Предмет Информатика. Спрашивает Ересько Елизавета.

Python!!! помогите решить так сказать ошибку в коде, если вставить это то получится что он не

реагирует на выбор (Треугольник и Четырехугольник), не смотря на то что ввожу при выборе (Треугольник), он приводит формулы из (Ромба) import math nach = str(input("Введите название фигуры для вычисления площади\nТреугольник\nРомб\nЧетырехугольник\nВведите название фигуры: ")) #Ромб if nach == "Ромб" or "ромб" or "2": print("1. S = a^2 * sin(a)\n2. S = a * h\n3. S = (d1 * d2) / 2") tip1 = str(input("Выберите формулу: ")) if tip1 == "1": a = float(input("Введите значение а: ")) a1 = float(input("Введите сколько градусов угол а: ")) a2 = round(math.radians(a1), 5) otvet = a**2 * math.sin(a2) print("S=", round(otvet, 3) ,"см\м^2") if tip1 == "2": a = float(input("Введите значение а: ")) h = float(input("Введите значение h: ")) print("S=", a * h , "см\м^2") if tip1 == "3": d1 = float(input("Введите первую диагональ(d1): ")) d2 = float(input("Введите вторую диагональ(d2): ")) print("S=", (d1 * d2) / 2 , "см\м^2") # Треугольник if nach == "Треугольник" or "треугольник" or "1": print("1. 1/2 *a*b* sin(a)\n2. 1/2 *a*h\n3. (a*b*c)/4*R\n4. R*(a+b+c)/2\n5. корень p*(p-a)(p-b)(p-c)\n6. 1/2 *a*b") tip2 = str(input("Выберите формулу: "))
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Булдина Анастасия.

Ответ:

import math

while True:

   nach = input("Введите название фигуры для вычисления площади\nТреугольник\nРомб\nЧетырехугольник\nВведите название фигуры: ").lower ()

   

   try:

       #Ромб

       if "ромб" in nach:

           print ("Формулы ромба:\n")

           print("1. S = a^2 * sin(a)\n2. S = a * h\n3. S = (d1 * d2) / 2")

           tip = str(input("Выберите формулу: "))

           if tip == "1":

               a = float(input("\nВведите значение а: "))

               a1 = float(input("Введите сколько градусов угол а: "))

               print("угол а в радианах =", round(math.radians(a1), 1))

               a1 = float(input("Введите сколько в радианах угол а: "))

               otvet = a**2 * math.sin(a1)

               print("S=", math.ceil(otvet), "см\м^2")

           if tip == "2":

               a = float(input("Введите значение а: "))

               h = float(input("Введите значение h: "))

               print("S=", a * h , "см\м^2")

           if tip == "3":

               d1 = float(input("Введите первую диагональ(d1): "))

               d2 = float(input("Введите вторую диагональ(d2): "))

               print("S=", (d1 * d2) / 2 , "см\м^2")

           

           else:

               throw ()

       # Треугольник

       elif "треугольник" in nach:

           print ("Формулы треугольника:\n")

           print("1. 1/2 a*b sin(a)\n2. 1/2 a*h\n3. (a*b*c)/4*R\n4. R(a+b+c)/2\n5. корень p*(p-a)(p-b)(p-c)\n6. 1/2 *a*b")

           tip = str(input("Выберите формулу: "))

           #Логика треугольника

       

       #Четырехугольник

       elif "четырехугольник" in nach:

           print ("Формулы четырехугольника:\n")

           #Логика четырехугольника

       else:

           throw ()

   except:

       print ("\n Введено неверное значение!!! \n")

       

   #Выйти если надо

   if (input ("Введите 'q' если хотите выйти: ") == 'q'):

       break

Объяснение:

Лови брат

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в вашем коде связана с условиями в операторах if для выбора фигуры (Ромба или Треугольника). У вас ошибка в логике условий. В Python условие or не работает так, как вы, возможно, ожидаете. Каждое условие должно быть выражено полностью, и проверка должна быть выполнена для каждого значения переменной nach.

Используйте следующий код:

python
import math nach = str(input("Введите название фигуры для вычисления площади\nТреугольник\nРомб\nЧетырехугольник\nВведите название фигуры: ")) # Ромб if nach.lower() == "ромб" or nach == "2": print("1. S = a^2 * sin(a)\n2. S = a * h\n3. S = (d1 * d2) / 2") tip1 = str(input("Выберите формулу: ")) if tip1 == "1": a = float(input("Введите значение а: ")) a1 = float(input("Введите сколько градусов угол а: ")) a2 = round(math.radians(a1), 5) otvet = a**2 * math.sin(a2) print("S=", round(otvet, 3), "см\м^2") elif tip1 == "2": a = float(input("Введите значение а: ")) h = float(input("Введите значение h: ")) print("S=", a * h, "см\м^2") elif tip1 == "3": d1 = float(input("Введите первую диагональ(d1): ")) d2 = float(input("Введите вторую диагональ(d2): ")) print("S=", (d1 * d2) / 2, "см\м^2") # Треугольник elif nach.lower() == "треугольник" or nach == "1": print("1. 1/2 *a*b* sin(a)\n2. 1/2 *a*h\n3. (a*b*c)/4*R\n4. R*(a+b+c)/2\n5. корень p*(p-a)(p-b)(p-c)\n6. 1/2 *a*b") tip2 = str(input("Выберите формулу: ")) # Ваш код для треугольника # ... else: print("Некорректный выбор фигуры")

Обратите внимание, что я использовал .lower() для преобразования ввода пользователя в нижний регистр, чтобы обеспечить корректное сравнение. Также, я исправил логику условий для проверки ввода пользователя.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос