Cześć, mam problem z rozwiązaniem dwóch zadań. Czy ktoś byłby w stanie mi pomoc?
1.Zamienic w pytonie 53*45’25,3335’ na dziesiętne części stopnia
2.Obliczyć odległość geometryczną pomiędzy dowolnymi dwoma punktami w przestrzeni 3D
Serdecznie pozdrawiam
Jaki masz z nimi problem?
To dopiero moje początki programowania, nie mam odpowiednich książek do nauki, w związku z czym po prostu nie wiem jakiej komendy użyć, jak to rozpisać.
No a jak zrobiłbyś to na kartce, matematycznie?
Stosując taki przelicznik: stopnie + minuty/60 + sekundy/3600
To teraz otwórz pierwszy-lepszy poradnik Pythona i poczytaj, jak dokonuje się w nim operacji matematycznych - wiele magii tam nie ma ;-)
Okej, to wiem, ale nie wiem jak to połączyć w całość
a=53
b=45.00
c=25.3355
print b/60
0.75
print c/3600
0.00703763888889
Dodając. Konkretnie, a + b/60 + c/3600
Ci da to, czego szukasz.
2.Obliczyć odległość geometryczną pomiędzy dowolnymi dwoma punktami w przestrzeni 3D
Co to jest odległość geometryczna? Wg jakiej metryki? Jeśli wg euklidesowej to drugi wzór z tego hasła: https://pl.wikipedia.org/wiki/Odleg%C5%82o%C5%9B%C4%87
No to zafundujemy ci przyspieszony kurs pythona na przykładzie 2, ale zawsze możesz poszukać kursów na necie np: http://www.python.rk.edu.pl/w/p/podstawy/
# dołączamy bibliotekę z funckjami matematycznymi takimi jak pierwiastek,
# moduł liczby, logarytm itp itd
import math
# tworzymy dwie listy reprezentujące punkty 3D:
a = [1, 2, 0]
b = [2, 4, 1]
# lista to zbiór elementów, w tym przypadku trzech liczb;
# widać podobieństwo między współrzędnymi punktu a w przestrzeni 3D a listą a?
# tworzymy zmienną suma potrzebną do zliczenia sumy kwadratów różnic
# poszczególnych składowych punktów;
# inicjujemy ją wartością zero żeby nie otrzymać bzdur:
suma = 0
# pętla, czyli kawałek kodu który powtórzy się zadaną ilość razy;
# w tym przypadku 3 razy a zmienna i przyjmie w niej wartości 0, 1, 2:
for i in range(0, 3):
suma += (a[i] - b[i])*(a[i] - b[i])
# czyli przy pierwszym wykonaniu pętli posumowane zostaną elementy o indeksie 0 z list a i b:
# suma += (a[0] - b[0])*(a[0] - b[0]) czyli inaczej suma += (1 - 2)*(1 - 2);
# w drugim wykonaniu pętli dodane zostaną elementy z indeksami 1 z list a i b:
# suma += (a[1] - b[1])*(a[1] - b[1]) czyli inaczej suma += (2 - 4)*(2 - 4);
# w trzecim wykonaniu pętli dodane zostaną elementy z indeksami 2 z list a i b:
# suma += (a[2] - b[2])*(a[2] - b[2]) czyli inaczej suma += (0 - 1)*(0 - 1);
# więcej razy pętla się już nie wykona i możemy patrzeć co się dzieje dalej;
# liczymy odległość punktów który jest pierwiastkiem z policzonej sumy:
odleglosc = math.sqrt(suma)
# i na końcu wypisujemy wyliczoną wartość na ekran:
print odleglosc