26 lipca, 2020 w Kurs Python'a dla początkujących
Przez lukasz 26 lipca, 2020 w Kurs Python'a dla początkujących
Hej! Dzisiaj nauczymy się jak możemy pobierać dane od użytkownika w trakcie działania programu oraz jak możemy konwertować wartości zmiennych do innych typów, co okaże się całkiem przydatne.
Dzięki temu nasze programy staną się interaktywne! Będzie super i będzie dosyć łatwo 😉 Zaczynajmy!
Wartości naszych zmiennych możemy ustawiać przed uruchomieniem naszego programu – tak jak na poprzedniej lekcji lub możemy poprosić Użytkownika, aby je wpisał w trakcie jego działania. Aby to zrobić, należy wpisać = input() obok nazwy naszej zmiennej. W środku nawiasu możemy dodać opis, który będzie mówił o tym, czego oczekujemy od Użytkownika, jednak jest on zupełnie opcjonalny.
welcome_message = 'Hello'
# here we ask a user for an input
# whatever he writes will be saved
# in variable 'user_name'
user_name = input('Your name: ')
# here we just print the value
# from the variables above
print(f'{welcome_message} my dear {user_name}!')
# Result: Hello my dear John!
Teraz wystarczy uruchomić nasz program:
oraz wpisać w terminalu wybraną wartość. W przypadku zaprezentowanego na screenie programu należy wpisać dowolne imię i kliknąć 'Enter’. Gotowe!
Nasz program zareagował na to, co wpisaliśmy w trakcie jego działania! 🙂
Za każdym razem pobierając wartość korzystając z input(), jest ona domyślnie stringiem– czyli zapisywana w cudzysłowie i traktowana jako zwykły tekst – nieważne czy wpiszesz sam tekst, liczbę czy boolean’a.
Jest to ok, ale czasami chcemy pobrać dane liczbowe na przykład wzrost, wagę czy cokolwiek innego. Skoro nasza zmienna domyślnie będzie stringiem, to będziemy mogli wykonywać na niej operacje dla stringów, a nie dla liczb. Czyli nie wykonamy, żadnych potęg, dzieleń itd. Aby się upewnić, możemy sprawdzić każdą zmienną jakiego jest typu, aby to zrobić piszemy type(), a w nawiasie powinna być nazwa zmiennej.
year = 2020
age = input('Your age: ')
print(year)
print(type(year))
# result: class 'int'=""
print(age)
print(type(age))
# result: class 'str'=""
Mimo, że wpisałem 50, to moja faktyczna wartość w zmiennej to ’50’. Teraz gdybym chciał wykonać jakieś działania na liczbach, nie będzie to możliwe.
age = input('Your age: ')
# I just want to add 10
# to any age I write
print(age + 10)
Czas to poprawić. Aby zamienić stringa na integera, używamy funkcji int() , zaś aby zamienić integera na stringa używamy funkcji str().
# we convert str to int
age = int(input('Your age: '))
# I just want to add 10
# to any age I write
print(age + 10)
Możesz dodać do siebie zmienne o takich samych typach, ale jeżeli chcesz dodać do siebie różne typy otrzymasz informację o błędzie. Zobacz jeszcze kilka przykładów.
# note is a string, not an int # we only have actions available for strings # for example we can take the first # letter/digit year = '2020' print(year[0]) # result: 2 # it works because we can add together # two strings but we can't add # different types print(year + ' year!') # result: 2020 year! # we can convert it and add something # from now on this variable will be an int year = int(year) + 123 print(year) # result: 2143
Poćwicz i wykonaj następujące programy:
Jeżeli będziesz mieć problem z wykonaniem zadania napisz w komentarzu. Jeżeli uda Ci się je rozwiązać, także pochwal się w komentarzu rezultatem
To dopiero trzecia lekcja, a już zaczynasz pisać interaktywne programy! Super! Świetna robota 🙂
Nie zapomnij polubić stronę na facebooku i zapisać się do newsletter’a aby dostać informację o kolejnych świetnych lekcjach!