Aplikacja w pythonie, która oblicza najważniejsze charakterystyki trójkąta: pole, obwód, wszystkie wysokości oraz miary wszystkich kątów. Program powinien zawierać trzy pola wejściowe (długości boków trójkąta) oraz osiem pól tekstowych (pole obwód, trzy wysokości, trzy kąty). Zabezpieczyć program przed błędnymi danymi wejściowymi (długości boków trójkąta powinny być liczbami, powinny być dodatnie, musi się dać zbudować z nich trójkąt). Zabezpieczyć program przed wprowadzaniem błędnych danych, wykorzystując okna dialogowe.
Napisałam ten program aby zilustrować poprawne podejście do operacji wejścia/wyjścia. Chcę pokazać jak w języku Python uwzględnić polskie standardy (normy) zapisu liczb ze znakiem dziesiętnym. W Polsce znakiem dziesiętnym jest przecinek.
Program odrzuci próbę wprowadzenia liczb postaci 1.23, ponieważ oczekuje, że liczby niecałkowite będą zapisane jako 1,23.
Przedstawienie wyników jest w formacie 1,23, a nie 1.23.
Wyjaśnienie
Nie tylko w Polsce znakiem dziesiętnym jest przecinek. Umiejętność napisania programu, który będzie poprawnie przetwarzał liczby, a również i daty oraz znaki jest w praktyce bardzo potrzebna. Czyli na przykład przy znakach spodziewamy się kolejności
kałamarz
kat
kazeina
kąt
kit
kółko
kynologia
a nie kolejności (według powiedzmy kodów Unicode)
kat
kazeina
kałamarz
kit
kynologia
kółko
kąt
Dlatego też aby uwypuklić gdzie zastosowałam odpowiednie funkcje pozostawiłam je z prefiksem locale., a nie tak jak w przypadku funkcji z biblioteki math, gdzie zaimportowałam bezpośrednio to co używałam.
Odpowiedź
Napisałam ten program aby zilustrować poprawne podejście do operacji wejścia/wyjścia. Chcę pokazać jak w języku Python uwzględnić polskie standardy (normy) zapisu liczb ze znakiem dziesiętnym. W Polsce znakiem dziesiętnym jest przecinek.
Program odrzuci próbę wprowadzenia liczb postaci 1.23, ponieważ oczekuje, że liczby niecałkowite będą zapisane jako 1,23.
Przedstawienie wyników jest w formacie 1,23, a nie 1.23.
Wyjaśnienie
Nie tylko w Polsce znakiem dziesiętnym jest przecinek. Umiejętność napisania programu, który będzie poprawnie przetwarzał liczby, a również i daty oraz znaki jest w praktyce bardzo potrzebna. Czyli na przykład przy znakach spodziewamy się kolejności
a nie kolejności (według powiedzmy kodów Unicode)
Dlatego też aby uwypuklić gdzie zastosowałam odpowiednie funkcje pozostawiłam je z prefiksem locale., a nie tak jak w przypadku funkcji z biblioteki math, gdzie zaimportowałam bezpośrednio to co używałam.