W drugiej lekcji „Python dla inżynierów” nauczę Cię jak tworzyć napisy w Pythonie i jak operować na nich. Potrafisz już co prawda pisać proste procedury obliczeniowe, ale jak wykorzystać wyniki z Pythona do Twoich projektów? „Gołe” wyniki nie przydadzą się na wiele. Jak zatem pokazać wyniki tych obliczeń? Jak wprowadzić do algorytmów Pythona napisy i jak je później wyświetlić? Tego nauczysz się z tej lekcji!
Aby wykorzystać w projekcie stworzone przez Ciebie w Pythonie algorytmy obliczeniowe, potrzebujesz odpowiednio sformatowanego tekstu, który będziesz mógł dowolnie zmieniać i następnie wklejać tam gdzie chcesz. Nauczę Cię jak radzić sobie z napisami w Pythonie, ponieważ jest to bardzo przydatne! Nauczę Cię też jak tworzyć własne raporty obliczeniowe do wykorzystania bezpośrednio w Twoich obliczeniach statycznych.
Dzisiaj nauczę Cię następujących operacji na napisach (ang. strings):
- Tworzenie napisów
- Wyświetlanie napisów
- Podstawowe operacje na napisach
- Właściwości napisów
- Metody wbudowane napisów
- Formatowanie napisów
- Przykład zastosowania napisów: Raport z obliczeń
1. Tworzenie napisów
Napisy w Pythonie to ciąg znaków, które służą do przechowywania informacji (danych) tekstowych. Ciąg ten ma ściśle określoną kolejność znaków (sekwencja znaków). Np. napis tekst
Python widzi jako zbiór liter o konkretnej kolejności. Sekwencyjność w Pythonie ma duże znaczenie – powiem o tym więcej za chwilę.
Bardzo często ciągi znaków w Pythonie określa się zamiennie jako napis, string (wersja angielska) lub łańcuch znaków. W tej lekcji będę używać zamienne tych nazw.
Napisy (Strings) w Pythonie definiuje się za pomocą apostrofu '
umieszczonego na początku i na końcu ciągu znaków. Może to być:
1 2 3 4 5 6 7 8 9 10 11 |
# Pojedyncze słowo: 'Cześć!' # Fraza złożona z kilku słów: 'To też jest napis' 'Ten napis zawiera również cyfry 123 i inne znaki +-!@#$' # Do stworzenia napisu możemy również użyć znaku "cudzysłowu", zamiast 'apostrofu': "Napis stworzony za pomocą cudzysłowów" |
Te dwa sposoby zapisu napisów (za pomocą apostrofu '...'
lub cudzysłowu "..."
) dają taki sam efekt końcowy. Ważne jest, aby zaczynać i kończyć napisy konsekwentnie tym samym znakiem.
1 2 |
'Musisz 'uważać' na typy cudzysłowów w tym samym napisie, bo może to doprowadzić do błędu jak tutaj.' |
Po wywołaniu tego tekstu Python zwróci błąd tego typu:
1 2 3 4 5 |
File "[ścieżka pliku .py]", line 26 'Musisz 'uważać' na typy cudzysłowów w tym samym napisie, bo może to doprowadzić do błędu jak tutaj.' ^ SyntaxError: invalid syntax |
Powodem tego błędu jest to, że tym drugim apostrofem kończę mój napis, więc słowo uważać
jest już poza napisem. Jeśli potrzebujesz użyć w tekście apostrofu lub cudzysłowu (np. pisząc po angielsku I'm
lub cytując "kogoś"
), to użyj kombinacji tych dwóch, czyli '
i "
do stworzenia takiego tekstu. Przykład:
1 2 3 |
'To jest tekst "poprawnie" zapisany z cudzysłowami i apostrofami' "To też jest tekst 'poprawnie' zapisany z cudzysłowami i apostrofami" |
2. Wyświetlanie napisów (drukowanie)
Napisy możesz wyświetlić (wydrukować) za pomocą funkcji print()
. Pamiętasz? Użyłem tej funkcji już w lekcji o liczbach.
1 2 |
print('Python dla inżynierów') |
Wywołanie tej linijki kodu zwróci nam ciąg znaków Python dla inżynierów
.
Napisy są z reguły jednowierszowe. Jeśli jednak masz taką potrzebę, to możesz tworzyć napisy wielowierszowe. Tworzysz je dodając na początku i końcu ciągu znaków potrójne apostrofy '''...'''
lub potrójne cudzysłowy """..."""
.
1 2 3 4 5 |
print('''Ten napis ma wiele linii''') |
Wynikiem tego będzie:
1 2 3 4 5 |
Ten napis ma wiele linii |
Drugi sposób:
1 2 3 4 |
print('Możesz też użyć \n do stworzenia \nnowej linii w tekście.') print('\n') print('Widzisz teraz jako to działa?') |
Po wywołaniu dostaniesz taki ciąg znaków:
1 2 3 4 5 6 |
Możesz też użyć do stworzenia nowej linii w tekście. Widzisz teraz jako to działa? |
Jeśli chcesz wyświetlić jednocześnie kilka napisów, to wystarczy je wypisać rozdzielając przecinkami:
1 2 |
print('a', 'b', 'c') |
Wynikiem będzie: a b c
. Poszczególne napisy zostaną połączone i rozdzielane domyślnie pojedynczą spacją (white space).
A co jeśli chcemy sami zdecydować jaki znak będzie rozdzielał poszczególne napisy? W tym celu na końcu funkcji dodajemy separator sep='[Twój znak]'
:
1 2 3 |
print('a', 'b', 'c', sep='...') # Tutaj separatorem będzie '...' (trzy kropki) print('a', 'b', 'c', sep='') # A tutaj separatora nie będzie (brak znaku) |
Python wyświetli to jako:
1 2 3 |
a...b...c abc |
Polskie znaki w skryptach Pythona
Interpreter Pythona przyjmuje domyślnie dla plików .py kodowanie ASCII. Jeżeli chcesz stosować polskie znaki (ą
, ę
, ć
etc.), to powinieneś na początku kodu podać odpowiednie kodowanie. Ja zalecam kodowanie Unikod UTF-8. ASCII jest z nim w pełni kompatybilne i zawiera dodatkowo znaki specjalne wszystkich języków. Po zapisaniu pliku z tym kodowaniem należy dodać na początku pliku Pythona: #-*-coding: utf-8-*-
. Ta informacja pozwala zorientować się jakie kodowanie przyjąłeś w Twoim pliku .py.
3. Podstawowe operacje na napisach
Napis jako zmienna
1 2 3 4 |
# Napisom, podobnie jak zmiennym, można przypisać nazwę: str = 'abc' # nazwa 'str' pochodzi od 'string' print(str) |
Wynikiem będzie abc
.
Długość napisów
Przydatną funkcją w napisach jest funkcja len()
. Służy ona do sprawdzenia długości łańcucha znaków:
1 2 3 |
liczba_znakow = len('Ile znaków ma to zdanie?') print(liczba_znakow) |
Funkcja len()
zwróci nam, że to zdanie ma 24 znaki.
Operator indeksowania
Napisy, jak wspomniałem na początku, to łańcuchy znaków o określonej kolejności. Oznacza to, że Python może używać indeksów do wywołania poszczególnych znaków lub części danego łańcucha.
Do wywołania pojedynczego znaku w danym napisie, któremu odpowiada wybrany przez nas indeks, używamy nawiasów kwadratowych []
umieszczonych zaraz za tym napisem:
1 2 3 |
str = 'Python dla inżynierów' print(str[0]) |
Po wywołaniu tego kodu Python zwróci nam znak P
.
Zwróć uwagę, że indeksowanie w Pythonie zaczyna się od liczby 0. Zatem pierwszy znak w łańcuchu ma przypisany indeks 0, drugi – 1, trzeci – 2 itd.
1 2 3 4 |
print(str[1]) # drugi znak print(str[-1]) # ostatni znak print(str[-2]) # przedostatni |
Wynikiem będzie:
1 2 3 4 |
y w ó |
Jeśli natomiast chcesz wyświetlić określony fragment łańcucha znaków, to operator indeksowania ma postać nazwa_zmiennej[od:do]
. Przykład:
1 2 3 4 5 |
print(str[1:6]) # fragment napisu obejmujący znaki od drugiego do piątego print(str[:3]) # od pierwszego (domyślnie jeśli nie podano) do trzeciego print(str[2:]) # od trzeciego aż do końca print(str[:]) # wszystkie znaki |
W efekcie dostaniemy:
1 2 3 4 5 |
ython Pyt thon dla inżynierów Python dla inżynierów |
Możesz również użyć ujemnych wartości indeksów:
1 2 3 4 |
print(str[-2:]) # dwa ostatnie znaki print(str[:-1]) # od pierwszego do przedostatniego print(str[3:-3]) # od czwartego do czwartego od końca |
Python zwróci tutaj:
1 2 3 4 |
ów Python dla inżynieró hon dla inżynie |
Python pozwala również na wyświetlenie fragmentu łańcucha z zadanym krokiem (skok, co który znak ma być wyświetlony).
1 2 3 4 5 6 |
print(str[::1]) # Wyświetl wszystko, ale co jeden (każdy) znak print(str[::2]) # Wyświetl wszystko, ale co drugi znak # Możesz też wykorzystać to do odwrócenia napisu: print(str[::-1]) # wyświetlenie znaków od końca do początku napisu |
Wynikiem będzie odpowiednio:
1 2 3 4 |
Python dla inżynierów Pto l nyirw wóreinyżni ald nohtyP |
4. Właściwości napisów
Modyfikacja napisów
Podobnie jak w innych językach (np. C#, Java) napisy w Pythonie są niemodyfikowalne (immutable), tj. po stworzeniu napisu nie można zmieniać lub zastępować w nim poszczególnych znaków. Zobaczmy to na naszym przykładzie str = 'Python dla inżynierów'
:
1 2 3 |
# Spróbujmy zmienić pierwszą literę na 'x' str[0] = 'x' |
Po wywołaniu tej linii dostaniemy błąd:
1 2 3 4 |
File "[ścieżka pliku .py]", line 114, in <module> str[0] = 'x' TypeError: 'str' object does not support item assignment </module> |
Zwróć uwagę, że Python pokazuje bezpośrednio czego nie możesz zrobić – w tym wypadku nie możesz zmienić przypisania dla wybranego elementu.
Ale co możesz zrobić, to łączyć ze sobą napisy!
Łączenie napisów
1 2 3 |
# Napisy można ze sobą łączyć: print('abc' + ' dodaj mnie') |
Dostaniemy tutaj abc dodaj mnie
.
Zauważ, że możesz też nadpisywać napisy (przypisać im nową wartość w miejsce starej). Przykład:
1 2 3 4 |
str = 'abc' str = str + ' dodaj mnie' print(str) |
Wynikiem będzie abc dodaj mnie
.
A co jeśli chcemy połączyć ze sobą tekst i liczbę?
1 2 |
print('abc = ' + 123) |
Niestety, Python wyrzuci błąd:
1 2 3 4 |
File "[ścieżka pliku .py]", line 118, in <module> print('abc = ' + 123) TypeError: must be str, not int </module> |
Python nie pozwala na łączenie dwóch różnych typów obiektów jak str
('abc = '
) i np. int
(123
). Rozwiązaniem tego problemu jest zamiana liczby na ciąg znaków za pomocą funkcji str()
lub repr()
:
1 2 |
print('abc = ' + str(123)) |
Python zwróci nam wtedy 'abc = 123'
Powielanie napisów
1 2 3 |
# Napisy można też powielać: print('abc' * 10) |
Python zwróci ciąg znaków abcabcabcabcabcabcabcabcabcabc
.
Zauważ, że nie jest to typowe mnożenie, jak w przypadku liczb, tylko powielanie (powtórzenie). Różnica jest taka, że liczba powieleń musi być dodatnią liczbą całkowitą typu int
.
1 2 3 |
# Nie można zatem mnożyć napisów przez liczbę inną niż typ 'int', np.: print('abc' * 10.0) |
Python zwróci wtedy błąd:
1 2 3 4 |
File "[ścieżka pliku .py]", line 131, in <module> print('abc' * 10.0) TypeError: can't multiply sequence by non-int of type 'float' </module> |
1 2 3 |
# Nie można też mnożyć napisów przez siebie same: print('abc' * 'abc') |
Python wyrzuci błąd:
1 2 3 4 |
File "[ścieżka pliku .py]", line 134, in <module> print('abc' * 'abc') TypeError: can't multiply sequence by non-int of type 'str' </module> |
Uwaga: Na pewno zwróciłeś uwagę na różnicę pomiędzy operacjami na napisach i na liczbach? Żeby rozwiać wszelkie wątpliwości weźmy dwa proste przykłady:
- Dodawanie
'2' + '2'
nie da w wyniku liczby 4 tylko string'22'
, - podobnie mnożenie
4 * '2'
nie da wyniku 8, tylko'2222'
.
Widzisz teraz różnicę?
5. Metody wbudowane
Obiekty w Pythonie mają zwykle tzw. metody wbudowane (built-in methods). Metody, mówiąc najprościej, są to funkcje zaszyte w danym obiekcie (będę o tym mówił w kolejnych lekcjach), które mogą wykonywać polecenia na nich samych. Nie martw się jeśli nie wszystko jest tutaj zrozumiałe. Zajmiemy się tym później i nauczę Cię tworzenia własnych obiektów i funkcji.
Aby wywołać konkretną metodę trzeba po nazwie obiektu postawić kropkę .
i następnie podać nazwę metody. Zasada jest taka: obiekt.metoda(parametr)
. Zerknij poniżej na kilka przykładów użycia metod dla stringów.
Formatowanie napisów
1 2 3 4 5 6 7 8 |
str = 'Python dla inżynierów' # Możemy zamienić wszystkie litery na wielkie: print(str.upper()) # Zamiana na małe litery też jest możliwa: print(str.lower()) |
Dostaniemy z tego odpowiednio:
1 2 3 |
PYTHON DLA INŻYNIERÓW python dla inżynierów |
Przeszukiwanie napisów
1 2 3 4 |
# Możemy też sprawdzić czy szukany znak występuje w ciągu znaków: print(str.index('o')) # Zwraca indeks pierwszego wystąpienia szukanego znaku; w przypadku niewystępowania znaku zwraca błąd print(str.find('o')) # działa podobnie jak metoda index(); w przypadku braku znaku zwraca wartość -1 |
Powyższe dwie metody zwrócą nam:
1 2 3 |
4 4 |
Jeśli chcemy dowiedzieć się tylko czy dany znak lub ciąg znaków występuje w łańcuchu, najlepiej wykorzystać do tego polecenie in
:
1 2 3 4 5 |
str = 'Python dla inżynierów' print('Python' in str) print('Pascal' in str) |
W wyniku powyżej otrzymaliśmy wartości: True
dla 'Python'
(tak, 'Python'
występuje w str
) oraz False
dla 'Pascal'
(nie, 'Pascal'
nie występuje w str
).
Inne przydatne metody:
1 2 3 4 5 |
# Zliczanie liczby wystąpień znaku w napisie: print(str.count('P')) print(str.count('p')) print(str.count('n')) |
W wyniku dostaniemy:
1 2 3 4 |
1 0 3 |
Uwaga: Wielkość liter w Pythonie ma znaczenie! Spójrz na przykład powyżej. Dla wyrażenia str.count('p')
Python zwrócił wartość 0, ponieważ w str
nie występuję znak małe p
.
1 2 3 |
# Zamiana znaków w tekście (zastępowanie) print(str.replace('y','.')) |
Wynikiem będzie napis P.thon dla inż.nierów
. Metoda ta pozwala na zastępowanie znaków w napisie. Jednak, jak powiedziałem wyżej, sam str
pozostaje bez zmian (po wywołaniu print(str)
dostaniemy niezmieniony napis).
Dzielenie / łączenie napisów
1 2 3 4 |
# Podział napisu na części według znaku separatora print(str.split()) # Domyślny podział napisu przez spacje ('wite space') print(str.split('y')) # Podział napisu za pomocą 'y' |
Za pomocą metody split()
otrzymujemy listę znaków wydzieloną separatorem. Powstała lista nie będzie zawierać znaku separatora (odpowiednio w przykładzie: znak spacji i y
).
1 2 3 |
['Python', 'dla', 'inżynierów'] ['P', 'thon dla inż', 'nierów'] |
Nie przejmuj się jeśli nie wiesz jeszcze co to listy. Omówię je w następnych lekcjach. Tutaj wspominam o nich jedynie jako wynik działania funkcji.
1 2 3 4 |
# Można też podzielić napis wybranym ciągiem znaków: s = '.' print(s.join(str)) # Elementem dzielonym (iteratorem) będzie 'str' |
Wynikiem działania join()
będzie:
1 2 |
P.y.t.h.o.n. .d.l.a. .i.n.ż.y.n.i.e.r.ó.w |
Metody wbudowane są bardzo pomocne w szybkim operowaniu na obiektach. Nie trzeba tracić czasu na tworzenie nowych funkcji, mamy je już wbudowane. Więcej na temat metod wbudowanych w stringach możesz znaleźć tutaj.
6. Formatowanie napisów
Przechodzimy teraz do, moim zdaniem, najciekawszej części tej lekcji – formatowania napisów.
Jeśli wykonuję jakieś obliczenia za pomocą algorytmów napisanych w Pythonie, to zawsze przychodzi etap wyświetlania wyników obliczeń. A dokładnie chodzi o sensowne sformatowanie wyników, żeby można było je wykorzystać dalej.
To, co daje nam Python to to, że możemy niemal dowolnie komponować dane i wyniki wg własnych potrzeb i upodobań. Pokażę Wam kilka przydatnych opcji.
Weźmy prosty przykład.
1 2 3 4 5 6 |
stolica = 'Dodoma' # nowa stolica Tanzanii kraj = 'Tanzania' populacja = 53950935 print('Stolicą kraju ' + kraj + ' jest ' + stolica + '. Populacja kraju: ' + str(populacja) + ' mieszkańców.') |
Wynikiem będzie tekst Stolicą kraju Tanzania jest Dodoma. Populacja kraju: 53950935 mieszkańców.
Wygląda nienajgorzej, prawda? Ale można też się pogubić z tymi znakami jak +
itp. I jeszcze pilnowanie tych spacji… A może by zrobić to tak:
Formatowanie napisów za pomocą %
1 2 |
print('Stolicą kraju %s jest %s. Populacja kraju: %d mieszkańców.' % (kraj, stolica, populacja)) |
Wynik jest identyczny: Stolicą kraju Tanzania jest Dodoma. Populacja kraju: 53950935 mieszkańców.
Prawda, że lepiej? Taki sposób odwołania do zmiennych za pomocą %
jest dużo łatwiejszy, czytelniejszy i mniej podatny na błędy. Za pomocą %
możemy w Pythonie odwoływać się do m.in. następujących typów obiektów:
%s
– napis, łańcuch znaków,%d
– liczba całkowita,%f
– liczba rzeczywista, zmiennoprzecinkowa,%e
– liczba rzeczywista w notacji naukowej.
Dzięki odwołaniom możemy też określać dokładność wyświetlanych zmiennych. Przykład:
1 2 |
print('Najpopularniejsze stałe matematyczne to %s = %.2f i %s = %.3f.' % ('pi', 3.141593, 'e', 2.718282)) |
Wynik: Najpopularniejsze stałe matematyczne to pi = 3.14 i e = 2.718.
Formatowanie napisów za pomocą metody format()
Jest jeszcze inny sposób formatowania napisów – metoda format()
. Wygląda podobnie do odwołania za pomocą %
z drobnymi różnicami. Sprawdźcie sami na przykładzie ze stolicą:
1 2 3 4 |
print('Stolicą kraju {} jest {}. Populacja kraju: {} mieszkańców.'.format(kraj, stolica, populacja)) print('Stolicą kraju {2} jest {0}. Populacja kraju: {1} mieszkańców.'.format(stolica, populacja, kraj)) # wywołanie zmiennej za pomocą indeksu (odwrócona kolejność) print('Stolicą kraju {kr} jest {st}. Populacja kraju: {pop} mieszkańców.'.format(kr=kraj, st=stolica, pop=populacja)) # wywołanie do zmiennej przez nazwę |
Wszystkie trzy funkcje dadzą ten sam wynik: Stolicą kraju Tanzania jest Dodoma. Populacja kraju: 53950935 mieszkańców.
.
Więcej ciekawych przykładów z wykorzystaniem metody format()
znajdziecie tutaj.
7. Przykład zastosowania stringów: Raport z obliczeń
W ostatniej lekcji nauczyłeś się programować proste procedury obliczeniowe oparte o działania arytmetyczne. Tutaj też Ci się to przyda. W tym przykładzie nauczę Cię jak wyświetlać przykładowe wyniki obliczeń, żebyś mógł wykorzystać to bezpośrednio w Twoich obliczeniach.
Napiszemy krótką procedurę do obliczania naprężeń normalnych i sformatujemy dane i wyniki tak, żeby powstał z tego raport z obliczeń. Wykorzystując print()
i inne poznane funkcje możesz dowolnie formatować dane i wyniki obliczeń, które chcesz wyświetlić.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#!/usr/bin/env python #-*-coding: utf-8-*- ''' Obliczanie naprężeń normalnych dla przekroju prostokątnego (c) www.oProjektowaniu.pl | 2017 ''' # ----------------------------------------------------------- # DANE # ----------------------------------------------------------- b = 0.2 # Szerokość przekroju w [m] h = 0.6 # Wysokość przekroju w [m] N = 100 # Siła podłużna w [kN], (+) rozciąganie / (-) ściskanie My = 25 # Moment zginający w [kNm], (+) rozciąganie włókien dolnych / (-) rozciąganie włókien górnych # ----------------------------------------------------------- # OBLICZENIA # ----------------------------------------------------------- A = b*h # Pole powierzchni Iy = b * h**3 / 12 # Moment bezwładności z = h/2 # Współrzędna względem środka ciężkości Wy = Iy / z # Wskaźnik wytrzymałości sigY_gora = (N/A) - (My*z/Iy) sigY_dol = (N/A) + (My*z/Iy) sigY_srodek = (N/A) # ----------------------------------------------------------- # WYDRUK WYNIKOW # ----------------------------------------------------------- line = 60 sep = '-' print(line*sep) print('DANE') print(line*sep) print(' Przekrój prostokątny: %s = %.2f m/%.2f m' % ('b/h'.rjust(7), b, h)) print(' Wskaźnik wytrzymałości: %s = %.3E m3' % ('Wy'.rjust(5), Wy)) print('') print(line*sep) print('WYNIKI OBLICZEŃ') print(line*sep) print(' Naprężenia normalne: %s = %+.2f MPa %s' % ('sig.g'.rjust(8), sigY_gora / 1000, '(włókna górne)'.rjust(15))) print('%s = %+.2f MPa %s' % ('sig.0'.rjust(31), sigY_srodek / 1000, '(oś obojętna)'.rjust(15))) print('%s = %+.2f MPa %s' % ('sig.d'.rjust(31), sigY_dol / 1000, '(włókna dolne)'.rjust(15))) |
W efekcie dostaniemy następujący wydruk:
1 2 3 4 5 6 7 8 9 10 11 12 |
------------------------------------------------------------ DANE ------------------------------------------------------------ Przekrój prostokątny: b/h = 0.20 m/0.60 m Wskaźnik wytrzymałości: Wy = 1.200E-02 m3 ------------------------------------------------------------ WYNIKI OBLICZEŃ ------------------------------------------------------------ Naprężenia normalne: sig.g = -1.25 MPa (włókna górne) sig.0 = +0.83 MPa (oś obojętna) sig.d = +2.92 MPa (włókna dolne) |
Tak przygotowaną notatkę obliczeniową możesz wykorzystać bezpośrednio wklejając ją do Twojego projektu. Metoda jest prosta i pozwala na radzenie sobie z problemami, których nie możesz ogarnąć typowym oprogramowaniem.
Sposób formatowania notatek jest oczywiście dowolny. Można je rozbudowywać, pokazywać lub ukrywać wybrane przez Ciebie informacje. Pokazałem tutaj prosty przykład, w którym wykorzystałem też inne przydatne opcje tekstu (np. rjust()
– wyrównywanie do prawej). Przykład ten oczywiście nie rozwiązuje wszystkich problemów (np. jednostki SI, grafiki, zapis do PDF etc.), ale cierpliwości :) Będzie niedługo o tym więcej. Póki co eksperymentuj i zobacz jak to działa z innymi funkcjami!
Podsumowanie
A teraz krótkie podsumowanie. W tej lekcji nauczyłeś się tworzyć i wyświetlać napisy w Pythonie. Poznałeś właściwości napisów (jak len()
, indeksowanie znaków etc.). Umiesz operować na napisach – łączyć je, powielać, przeszukiwać etc. Wiesz też jak formatować napisy, żeby wyglądały tak, jak tego chcesz. Potrafisz już tworzyć proste i szybkie raporty z Twoich obliczeń.
Możesz też ściągnąć spakowany plik .py z kodem, który pokazałem w tej lekcji.
Teraz spróbuj napisać własną procedurę obliczeniową i utworzyć dla niej raport z tych obliczeń. Co to będzie? Jeśli potrzebujesz pomocy – napisz mi o tym w komentarzu!
W następnym poście zajmiemy się tzw. listami!
Wpisy z cyklu „Python dla inżynierów„:
- Wprowadzenie do Pythona i Liczby
- Napisy (Strings)
- Listy
- (w opracowaniu)
a jak dodać tekst w „” np. Przykro mi, że nie spełniła Twoich oczekiwań, ale mamy ścisłą politykę „bez zwrotów” w przypadku produktów.
Cześć, użyj: \”tekst w cudzysłowie\”
Dzięki za pomoc
Świetne!!! Dziękuję!!!