Czy ktoś mógłby rozwiązać dla mnie zadanie z tutoriala, podanego poniżej? Będę wdzięczny, nie za bardzo wiem jak to tam idzie.
https://www.learnpython.org/pl/Funkcje
Czy ktoś mógłby rozwiązać dla mnie zadanie z tutoriala, podanego poniżej? Będę wdzięczny, nie za bardzo wiem jak to tam idzie.
https://www.learnpython.org/pl/Funkcje
chodzi mi dokładnie o to:
Dodaj funkcję nazwaną lista_korzysci() - która zwraca tablicę następujących napisów: "Lepiej zorganizowany kod", "Wieksza czytelnosc kodu", "Latwiejsze wielokrotne uzycie kodu", "Mozliwosc dzielenia sie kodem i laczenia go w calosc przez rozne osoby"
Dodaj funkcję nazwaną buduj_zdanie(info), która otrzymuje pojedyńczy argument zawierający napis i zwracający zdanie zaczynające się podanym napisem i kończące się " jest zaleta funkcji!"
Wykonaj i zobacz jak funkcje ze sobą współpracują
To łatwiutkie zadanie:
#4programmers - python:
#https://www.learnpython.org/pl/Funkcje
def lista_korzyści():
ret_list = ["Lepiej zorganizowany kod", "Wieksza czytelnosc kodu", "Latwiejsze wielokrotne uzycie kodu", "Mozliwosc dzielenia sie kodem i laczenia go w calosc przez rozne osoby"]
return ret_list
print(lista_korzyści())
def buduj_zdanie(info):
ret = info + " jest zaleta funkcji"
return ret
print(buduj_zdanie(lista_korzyści()[1]))
#->['Lepiej zorganizowany kod', 'Wieksza czytelnosc kodu', 'Latwiejsze wielokrotne uzycie kodu', 'Mozliwosc dzielenia sie kodem i laczenia go w calosc przez rozne osoby']
#->Wieksza czytelnosc kodu jest zaleta funkcji
Jeśli Masz z nim problem to chyba Porzebujesz się troszkę cofnąć i przejrzeć materiał.
Tam jakiś modek chyba prosił, więc wrzucam tutaj 'urywek' kodu, nie wiem nadal czemu moje return nazwa nie czyta odpowiednio jakby tablicy; nie działa.
def lista():
return nazwa = ["Lepiej", "Wieksza", "Latwiejsze", "Mozliwosc"]def zbudujZdanie(info):
return = info + "jest zaleta!"print(zbudujZdanie(lista()))
Powoli, nie Czujesz roznicy miedzy statement, a expression w pythonie, Poczytaj na ten temat. Funkcja zwraca wartosc, czyli wartosc jakiegos expression, a statement nie ewaluuje (nie daje) zadnej wartosci. Statement, takie jak:
List_1 = [1, 2, 3]
Nic nie zwraca, kompilator dodaje sobie tylko parke do jakiegos "enviromentu".
PS Sorki Pisze z komorki
return lista = ['1', '2', '3', '4']
- przypisywanie niczego w Pythonie nie zwraca (w przeciwieństwie do C++) więc nie możesz tego zreturnować
czy w takim razie mozecie polecic jakis konkretny tutorial, bo ten z ktorego tam korzystalem, bralem te zadania to nie taki koniecznie dobry.
shao. napisał(a):
czy w takim razie mozecie polecic jakis konkretny tutorial, bo ten z ktorego tam korzystalem, bralem te zadania to nie taki koniecznie dobry.
https://cgwisdom.pl/kurs-wideo/kurs-programowania-python-od-podstaw.html
Jak Możesz po angielsku, to docs I tutorial na strone pythonga jest spoko na poczatek.
A taki tutorial? Stąd? Bo akurat tak się złożyło, że kod skądś miałem na mejlu (nie mam pojecia skad bo nawet tam konta nie mialem do tej pory). Czy zainwestowac w to co Ty wyslales?
https://strefakursow.pl/kursy/programowanie/kurs_programowania_w_python.html
@shao.: Nie wiem jak ten, ale kupiłem kiedyś na strefiekursów kurs do Objective-C (programowanie w iOS) i był tragiczny, a na cgwisdom jak dotąd są spoko (no i na cgwisdom jest do Pythona 3.6.1 - prawie najnowsza wersja).
Do podstaw, polecam kurs wideo:
Następnie optymalizację tych funkcji na podstawie testowania z modułem time lub timeit (pierwsze, prostsze, znajdziesz w tym kursie). Metodami które znajdziesz w dokumentacji, jak przypisanie do zmiennej funkcji przypisującej elementy do listy, albo pracowanie na ich wyrywkach/indeksach.
A co do return'a robisz prosty błąd. Przetłumaczę to na laikowy język, bo niektórzy (z całym szacunkiem, ale jednak) robią wyżej niż mają pęknięcie pleców.
Ogólnie o returnie:
Wywołując w funkcji return, automatycznie kończysz jej działanie, kod wewnątrz niej, nie będzie się dalej wykonywał, zwróci wartość która następuje po jego wypisaniu.
W poleceniu return nie można przypisywać żadnych wartości. Bo return zwraca co mu dano do zwrotu, jeśli to będzie działanie 'return a+b' zwróci w miejscu wywołania wynik tego dodawania.
Jeśli dasz mu do zwrócenia listę, wystarczy to wypisać w ten sposób: 'return ['a', 'b', 'c'] lub możesz to przypisać do zmiennej w dwóch liniach:
'lista = ['a', 'b', 'c']
return lista'
Co jest równoważne z ostatnim przykładem.
Jeśli chcemy przypisać wynik return do zmiennej poza nim, trzeba to zrobić następująco:
'def jakas_funkcja(a):
return a+a
pierwsza = 3
dwukrotnosc = jakas_funkcja(pierwsza)'
Podajemy pierwsza do funkcji, więc zmienia się ona na zmienną 'a' wewnątrz funkcji. zwraca 'a+a', więc dwukrotnosc = a+a, czyli dwukrotnosc = pierwsza+pierwsza.
Jeśli coś pozostaje niejasne, to pisz śmiało, spróbuję wytłumaczyć innymi słowami :)