• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed SPOJ RODZ_TRO - Rodzaje trójkątów

Object Storage Arubacloud
0 głosów
377 wizyt
pytanie zadane 1 grudnia 2020 w Python przez Mateusz Bartczak Użytkownik (610 p.)
zamknięte 1 grudnia 2020 przez Eryk Andrzejewski

Siemka, mam problem, gdy myślę że już wszystko jest okej, dalej jest błąd - gdzie? chyba SPOJ naprawdę nie lubi pythona, lub a raczej napewno to mój błąd tylko jeszcze nie wiem gdzie

import sys
for i in sys.stdin:
    trojkat = sorted(i.split())
    a = float(trojkat[0])
    b = float(trojkat[1])
    c = float(trojkat[2])
    if a + b <= c:
        print("brak")
    elif c*c == a*a + b*b:
        print("prostokątny")
    elif c*c > a*a + b*b:
        print("rozwartokątny")
    elif c*c < a*a + b*b:
        print("ostrokątny")

 

komentarz zamknięcia: Rozwiązane

2 odpowiedzi

+2 głosów
odpowiedź 1 grudnia 2020 przez Eryk Andrzejewski Mędrzec (164,260 p.)
wybrane 1 grudnia 2020 przez Mateusz Bartczak
 
Najlepsza

Wydaje mi się, że problemem jest to, że sortujesz stringi, a nie liczby. Spróbuj zrobić coś takiego:

import sys
for i in sys.stdin:
    a, b, c = sorted(map(float, i.split()))
    if a + b <= c:
        print("brak")
    elif c*c == a*a + b*b:
        print("prostokątny")
    elif c*c > a*a + b*b:
        print("rozwartokątny")
    elif c*c < a*a + b*b:
        print("ostrokątny")

Z sortowaniem stringów jest taki problem, że na przykład '11' będzie przed '2'. wink

komentarz 1 grudnia 2020 przez Mateusz Bartczak Użytkownik (610 p.)
no właśnie nie, dalej jest błędna odpowiedź, już nie wiem o co chodzi
komentarz 1 grudnia 2020 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Przeczytaj dobrze polecenie. wink

Trzeba wypisywać tekst bez polskich znaków (prostokatny zamiast prostokątny itd.)

1
komentarz 1 grudnia 2020 przez Mateusz Bartczak Użytkownik (610 p.)
ojeju a faktycznie, dziękuję!!!!
0 głosów
odpowiedź 1 grudnia 2020 przez adrian17 Ekspert (344,860 p.)
Na oko, problem jest z logiką - dla trójkąta o bokach (3,4,5) powie że jest prostokątny, ale dla identycznego trójkąta o bokach (5,4,3) już nie.
komentarz 1 grudnia 2020 przez Mateusz Bartczak Użytkownik (610 p.)
Właśnie nie, właśnie działa
komentarz 1 grudnia 2020 przez adrian17 Ekspert (344,860 p.)
A, nie zauważyłem sortowania... ale tak, druga odpowiedź ma rację :) Też dobrze zgadłem, tylko zły przykład dałem :D

Podobne pytania

0 głosów
2 odpowiedzi 1,054 wizyt
pytanie zadane 16 czerwca 2016 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 418 wizyt
pytanie zadane 16 sierpnia 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)
0 głosów
2 odpowiedzi 394 wizyt
pytanie zadane 29 kwietnia 2018 w C i C++ przez Dorian Bajorek Dyskutant (7,920 p.)

92,568 zapytań

141,424 odpowiedzi

319,629 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...