Zacząłem zabawę z tym językiem. Jednak próbując uruchomić ten skrypt otrzymuję błędy. Próbowałem wiele rozwiązań ale już nie mam na to żadnego pomysłu. Czekam na jakieś rady.
Mógłbyś też napisać, o którą wersję Pythona Ci chodzi. O ile znawca to rozszyfruje z kodu źródłowego, to ktoś mniej obeznany może pomyśleć, że chodzi o Python2, który wciąż jest w użyciu.
@Kamatori Mógłbyś mi jakoś szybko wyjaśnić w jaki sposób odwołałeś się do zmiennych za pomocą liczb i co to ten “int”, “string”? Dopiero zaczynam przygodę z Pythonem a w książce jeszcze nie było wzmianki o tym o czym ty wspomniałeś
Python ma twarde typowanie, co oznacza, że zmienne nie są automatycznie konwertowane.
W matematyce możesz dodać liczbę rzeczywistą i całkowita i otrzymasz wynik. W programowaniu nie zawsze tak jest - przedtem musisz jedną zmienną zamienić na typ drugiej, a typ docelowy jest zależny od oczekiwanego rezultatu.
Jeżeli w wyniku chcesz otrzymać liczbę całkowitą(ang. integer, czyli int), a masz liczbę całkowitą i ciąg znaków, to musisz ciąg znaków zamienić na liczbę. Jeżeli chcesz coś dokleić do liczby, czyli żeby powstał ciąg znaków, to musisz liczbę zamienić na string(str). Mała dygresja. By dokleić cyfrę do liczby, czyli przemnożyć razy 10 i dodać cyfrę, to robisz: liczba = liczba * 10 + cyfra, a jeżeli cyfra jest znakiem, to liczba = liczba * 10 + int(cyfra).
Dlaczego tak to wygląda? W komputerze liczby nie są przechowywane w postaci tekstów, poza paroma wyjątkami. Są przechowywane w komórkach pamięci, jako liczby. Natomiast tekst też jest przechowywany w postaci liczby, z tą jednak różnicą, że np. by móc zapisać dowolnie długą liczbę poszczególne cyfry są kodowane, a więc następuje dzielenie przez 10 liczby i do reszty jest dodawany matematycznie kod cyfry 0. Następna cyfra jest zapisywana na pozycji o jeden w prawo. Tak się zamienia int na string. Oczywiście napis Ala ma kota też jest zapisywany w postaci ciągu liczb, ale znak ‘A’ nie jest z zakresu ‘0’ … ‘9’. To tak w skrócie.
Sądziłem że chodzi o konwersje łańcuchów na liczby i odwrotnie jednak nie umiałem tego zaimplementować. Dzięki za obszerne wyjaśnienie. Jeszcze tylko pasuje dowiedzieć się jak to działa w drugim przykładzie bo jest to o niebo lepsze rozwiązanie.
Dzięki za pomoc i wyjaśnienie jak uprościć sobie formatowanie. Mam tylko jeszcze jedno pytanie. Jak to jest z tym odwołaniem do zmiennych w postaci liczb? Jest to po prostu numer do danej zmiennej utworzonej w programie, czy są do tego jakieś dodatkowe reguły?
Zmienne liczbowe są oczywiście obiektami, jednak ich wartości są kopiowane. W Pythonie da się zaimplementować takie rzeczy - czy ma wartość zostać skopiowana, a może utworzona ma zostać referencja.