Rozwiązanie wymaga zastosowania pętli po elementach listy. Instrukcja If
sprawdza, czy element listy jest typu numerycznego. Długość listy do wyliczenia średniej będzie krótsza niż długość orginalnej listy. W pętli musimy zliczać zarówno sumę jak i liczbę elementów.
lista = [1.3, 4.8, "a2", 5.4, 2.222, 3, 4.1, "11", True, 3.6, "False"]
lista = [1.3, 4.8, "a2", 5.4, 2.222, 3, 4.1, "11", True, 3.6, "False"]
suma = 0
dlug = 0
for i in lista:
if type(i) == float or type(i)==int:
suma +=i
dlug +=1
srednia = suma/dlug
srednia
Wartość ekstremalna to ta, która różni się od średniej o min. dwa odchylenia standardowe. Rozwiązanie wymaga wyliczenia średniej i trzykrotności odchylenia standardowego, a następnie sprawdzenia każdej wartości czy przekracza wartość średnia + 3 * odchylenie standardowe
opady = [0, 2, 1, 6, 46, 10, 11, 17, 8, 4, 0, 2, 13, 11, 78, 61, 12, 8, 0, 0, 1, 2, 0, 0, 1, 0, 10]
opady = [0, 2, 1, 6, 17, 10, 11, 17, 8, 4, 0, 2, 13, 11, 78, 61, 12, 8, 0, 0, 1, 2, 0, 0, 1, 0, 10]
suma = 0
length = len(opady)
for i in opady:
suma +=i
srednia = suma/length
std=0
for i in opady:
std += (i - srednia)**2
std = (std**(0.5))/length
extrema=[]
for i in opady:
if i > srednia+3*std:
extrema.append(i)
extrema
Dla listy opadów skrypt ma wykrywać czy w danej iteracji pojawił się opad, porównując aktualną wartość z wartością uprzednią. Jeżeli poprzednia wartość była 0 a nowa jest różna od zera emitujemy komunikat, że pojawił się opad wraz z jego wysokością
opady = [0, 2, 1, 6, 0, 10, 0, 0, 0, 4, 0, 2, 13, 0, 0, 4, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10]
opady = [0, 2, 1, 6, 0, 10, 0, 0, 0, 4, 0, 2, 13, 0, 0, 4, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10]
poprzedni = 0
for i in opady:
if i and not poprzedni:
print("pojawił się opad dla " + str(i))
poprzedni = i
Orginalnie lista przechowuje wartości w metrach. Wynik należy podawać w metrach jeżeli mniej niż 1000 lub km jeżeli więcej niż 1000. Jeżeli więcej niż 1000 km podać w tyś km. Wynik powinien zawierać liczbę oraz jednostkę w jakiej jest liczba.
odleglosci = [132,2932,211,82302,232,323,212,3232,2320,31,323,12110,3303,12120,3221221,330,1120]
odleglosci = [132,2932,211,82302,232,323,212,3232,2320,31,323,12110,3303,12120,3221221,330,1120]
for o in odleglosci:
if o >1000:
if o > 1000000:
print(str(o/1000000) + " tyś. km")
else:
print(str(o/1000) + " km")
else:
print(str(o) + " m")
Nie wymaga stosowania pętli, wymaga znalezienia sposobu przeliczania stopni dziesiętnych na geograficzne
lon = 15.329175
lat = 45.927191
latst = int(lat)
lat = lat - latst
latmn = int(lat*60)
lat = lat*60 - latmn
latsc = int(lat*60)
latsf = "N" if lat>0 else "S"
print(latsf+str(latst) + "d" + str(latmn) + "m" + str(latsc) + "s")
Rozwiązaniem zadania jest pętla, która wylicza odległość wg wzoru na przeciwprostokątną trójkąta (tzw odległość euklidesową) i jeżeli dla danego punktu odległość jest miejsza niż aktualnie zapisana, zapisuje nową odległość i nowy punkt, który ten warunek spełnia. Na końcu wypisujemy punkt i odległość.
punkty = [(12.1,13.9),
(11.2,15.2),
(10.4,16.1),
(12.7,16.7),
(14.5,17.8),
(15.1,11.3),
(13.3,16.1),
(15.5,12.8),
(16.2,14.6),
(17.1,15.4)]
refer =(13.6,17.4)
punkty = [(12.1,13.9),
(11.2,15.2),
(10.4,16.1),
(12.7,16.7),
(14.5,17.8),
(15.1,11.3),
(13.3,16.1),
(15.5,12.8),
(16.2,14.6),
(17.1,15.4)]
refer =(13.6,17.4)
dist = 100
for punkt in punkty:
curDist = ((punkt[0]-refer[0])**2+(punkt[1]-refer[1])**2)**0.5
if curDist < dist:
szukanyPunkt=punkt
dist=curDist
print(str(szukanyPunkt)+" "+str(dist))