Python - rozwiązanie zadanie z tutoriala.

0

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
0

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ą
2

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ł.

0

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()))

1

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

1

return lista = ['1', '2', '3', '4'] - przypisywanie niczego w Pythonie nie zwraca (w przeciwieństwie do C++) więc nie możesz tego zreturnować

0

czy w takim razie mozecie polecic jakis konkretny tutorial, bo ten z ktorego tam korzystalem, bralem te zadania to nie taki koniecznie dobry.

1
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

1

Jak Możesz po angielsku, to docs I tutorial na strone pythonga jest spoko na poczatek.

0

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
  • jakiś tekstowy dobry?
1

@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).

2

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 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1