Wiki 1: Utangulizi wa Python — Setup, print, Variables, Data Types na Operators
Mwezi 1 | Lengo kuu: Mwanafunzi aweze kuandika na kuendesha (run) programu ndogo ya Python inayopokea input, kufanya hesabu, na kuonyesha matokeo.
Maandalizi ya Mwalimu (soma kabla ya wiki kuanza)
- Install kwenye kompyuta yako ya kwanza (ile utakayo-share screen):
- Python 3.12 au zaidi kutoka https://www.python.org/downloads/windows/ — wakati wa ku-install weka tiki "Add python.exe to PATH" (hii ni muhimu sana).
- VS Code kutoka https://code.visualstudio.com/
- Ndani ya VS Code: Extensions (Ctrl+Shift+X) → tafuta "Python" (ya Microsoft) → Install.
- Jaribu mwenyewe kabla: fungua PowerShell andika
python --version. UkionaPython 3.12.x(au zaidi) uko tayari. Ukiona ujumbe wa Microsoft Store au "not recognized", angalia sehemu ya "Makosa ya kawaida" ya Kipindi 1. - Tengeneza folder
C:\Users\<jina>\Documents\python_darasa\wiki01— kila kipindi tutatengeneza files ndani yake. - Kwenye Google Meet: jaribu "Present now → A window → VS Code". Ongeza ukubwa wa herufi VS Code:
Ctrl + =mara 3–4 ili mwanafunzi aone vizuri. - Soma: https://docs.python.org/3/tutorial/introduction.html. Usijali kuelewa kila kitu.
- Mwombe mwanafunzi a-install Python na VS Code mwenyewe. Kama hakuweza, Kipindi 1 kitamsaidia.
Malengo ya Wiki (mwisho wa wiki mwanafunzi ataweza...)
- Ku-install Python na VS Code, na kuendesha file la
.pykutoka VS Code na PowerShell. - Kutumia REPL (
>>>) kujaribu code fupi. - Kutumia
print()na comments (#). - Kutengeneza variables na kujua data types:
int,float,str,bool, na kutumiatype(). - Kupokea data kwa
input()na kubadilisha aina ya data (type conversion):int(),float(),str(). - Kutumia arithmetic operators (
+ - * / // % **), comparison operators (== != < > <= >=) na logical operators (and or not). - Kuandika programu ndogo kamili: mf. kikokotoo cha BMI au cha bei ya bidhaa.
Kipindi 1 — Utangulizi, Setup, REPL, print na comments
Mtiririko wa kipindi
- Kujuana, malengo ya kozi, jinsi tutakavyofanya kazi (Meet + VS Code)
- Python ni nini? Programu ni nini? Kwa nini Python?
- Setup: kuhakikisha Python + VS Code + extension vimewekwa kwa mwanafunzi
- REPL:
pythonkwenye PowerShell, kujaribu hesabu - Mapumziko mafupi
- File la kwanza
salamu.py:print(), kuendesha kwa ▶ na kwapython salamu.py - Comments
#na makosa ya kwanza (SyntaxError, NameError) - Zoezi darasani
- Q&A + kazi ya nyumbani
Elezo kwa mwalimu (soma kwanza wewe)
- Programu (program) ni orodha ya maagizo ambayo kompyuta inayafuata kwa mpangilio, mstari kwa mstari, kutoka juu kwenda chini.
- Python ni lugha ya programu (programming language). Tunaandika maagizo kwenye file lenye mwisho
.py, kisha programu inayoitwa interpreter (python.exe) inasoma file hilo na kutekeleza maagizo. - VS Code ni "editor" — ni kama Microsoft Word lakini kwa ajili ya code. VS Code yenyewe si Python; inatumia Python uliyo-install.
- Terminal / PowerShell ni dirisha la kuandika amri (commands) kwa maandishi. Ndani ya VS Code unaifungua kwa
Ctrl + `(kitufe kilicho juu ya Tab). - REPL (Read–Eval–Print Loop): ukiandika
pythonkwenye terminal unapata alama>>>. Unaandika mstari mmoja, Python inaujibu papo hapo. Ni kama "kikokotoo cha majaribio". Kutoka: andikaexit()au bonyezaCtrl+Zkisha Enter (Windows). - Tofauti muhimu: REPL inaonyesha thamani bila
print. Kwenye file, lazima utumieprint()ili kuona kitu. print()ni function inayoonyesha maandishi kwenye skrini. Maandishi (text) lazima yawe ndani ya alama za nukuu"..."au'...'.- Comment ni mstari unaoanza na
#. Python inaupuuza. Ni kwa ajili ya binadamu kusoma. - Python ni case-sensitive:
printsi sawa naPrint.
Sema hivi kwa mwanafunzi
- "Fikiria kompyuta ni mpishi asiyejua kitu chochote. Wewe ndiye unaandika recipe (programu). Mpishi anafuata kila hatua kama ilivyoandikwa — hata ukikosea, atafuata kosa lako! Ndiyo maana tunasema kompyuta ni 'mjinga mwenye kasi sana'."
- "Python ni lugha ambayo binadamu na kompyuta wote wanaielewa kwa urahisi. Inatumika na Instagram, YouTube, NASA, na kwenye AI."
- "VS Code ni daftari letu. Terminal ni mahali tunapompa kompyuta amri moja moja."
- "REPL ni kama kuongea na Python ana kwa ana: unauliza, inajibu papo hapo. File la
.pyni kama kumwandikia barua ndefu — inasoma yote kisha inatekeleza." - "Comment ni kama kuandika maelezo pembeni ya daftari kwa penseli — mwalimu (Python) hayasomi, ni kwa ajili yako."
Andika code hii live (share screen)
Hatua 1 — Kuangalia Python ipo. Fungua PowerShell (au terminal ndani ya VS Code):
python --version
Matokeo yanayotarajiwa (namba inaweza kutofautiana):
Python 3.12.7
Kama python haifanyi kazi, jaribu py --version (Python Launcher ya Windows).
Hatua 2 — REPL.
python
>>> 2 + 3 5 >>> 10 * 4 40 >>> 7 / 2 3.5 >>> "Habari" 'Habari' >>> print("Habari Tanzania") Habari Tanzania >>> exit()
Mweleze: "Angalia, 'Habari' ilionyeshwa na nukuu — REPL inaonyesha thamani yenyewe. print inaonyesha maandishi 'safi' bila nukuu."
Hatua 3 — File la kwanza. VS Code → File → Open Folder → chagua wiki01. Tengeneza file jipya salamu.py:
# Programu yangu ya kwanza # Mwandishi: <jina la mwanafunzi> print("Habari, dunia!") print("Karibu kwenye darasa la Python") print("Leo ni siku ya kwanza")
Bonyeza ▶ (Run Python File) juu kulia. Matokeo:
Habari, dunia! Karibu kwenye darasa la Python Leo ni siku ya kwanza
Kisha onyesha njia ya pili kwenye terminal:
python salamu.py
Hatua 4 — print na vitu vingi.
print("Jina:", "Amina") # print inaweka nafasi (space) kati ya vitu print("Umri:", 20) print(5 + 7) # inahesabu kwanza, kisha inaonyesha print("5 + 7") # hii ni maandishi tu, haihesabu! print() # mstari mtupu print("Dar", "Arusha", "Mwanza", sep=" - ") print("Hakuna mstari mpya", end=" ") print("<- tuko mstari ule ule")
Matokeo:
Jina: Amina Umri: 20 12 5 + 7 Dar - Arusha - Mwanza Hakuna mstari mpya <- tuko mstari ule ule
Hatua 5 — Nukuu ndani ya maandishi.
print('Alisema "Asante"') print("It's a nice day") print("Mstari wa kwanza\nMstari wa pili") # \n = mstari mpya print("Jina:\tAmina") # \t = tab
Matokeo:
Alisema "Asante" It's a nice day Mstari wa kwanza Mstari wa pili Jina: Amina
Hatua 6 — Tengeneza kosa makusudi ili mwanafunzi asiogope errors:
Print("Habari")
NameError: name 'Print' is not defined. Did you mean: 'print'?
"Error si adui — ni Python inakuambia tatizo liko wapi. Soma mstari wa mwisho kwanza."
Maswali ya kumuuliza mwanafunzi
- Swali: Tofauti ya REPL na file la
.pyni nini? — Jibu: REPL inajibu mstari mmoja papo hapo na haihifadhi kazi; file linahifadhiwa na linaendeshwa lote kwa pamoja. - Swali:
print("3 + 4")naprint(3 + 4)zinatoa nini? — Jibu: ya kwanza3 + 4(maandishi), ya pili7(hesabu). - Swali: Mstari unaoanza na
#unafanya nini? — Jibu: Hakuna kitu; ni comment, Python inaupuuza. - Swali: Ukiandika
print(Habari)bila nukuu itakuwaje? — Jibu:NameError, kwa sababu Python inadhaniHabarini jina la variable. - Swali: Python inasoma file kwa mpangilio gani? — Jibu: Juu kwenda chini, mstari kwa mstari.
Makosa ya kawaida
| Kosa | Ujumbe wa error | Suluhisho |
|---|---|---|
| Python haikuwekwa PATH | python : The term 'python' is not recognized... au inafungua Microsoft Store |
Install upya ukiweka tiki "Add python.exe to PATH", au tumia py badala ya python. Funga na ufungue VS Code upya. |
| Kuandika code ya Python ndani ya PowerShell (si REPL) | print : The term 'print' is not recognized au error ya PowerShell |
Andika python kwanza ili uingie REPL, au weka code kwenye file .py. |
| Kuandika amri ya PowerShell ndani ya REPL | >>> python salamu.py → SyntaxError: invalid syntax |
Toka REPL kwa exit() kwanza. |
| Kusahau nukuu | NameError: name 'Habari' is not defined |
Weka maandishi ndani ya "...". |
| Nukuu hazilingani | SyntaxError: unterminated string literal |
Anza na kumaliza kwa alama ile ile: "..." au '...'. |
| Kusahau mabano | print "Habari" → SyntaxError: Missing parentheses in call to 'print' |
Tumia print("Habari"). |
| Herufi kubwa | Print(...) → NameError |
Python ni case-sensitive: print. |
| Hukuhifadhi file | Programu inaendesha toleo la zamani | Ctrl+S kabla ya kuendesha (au washa File → Auto Save). |
Zoezi darasani
- Tengeneza
kadi.pyinayoonyesha kadi ya utambulisho: jina, mji, shule/kazi, na kitu unachokipenda — kila kimoja mstari wake, na comment juu inayoeleza file linafanya nini. - Tumia
printmoja tu (na\n) kuonyesha mistari mitatu:Moja,Mbili,Tatu. - Kwenye REPL, hesabu: sekunde ngapi ziko kwenye siku moja?
Jibu
# kadi.py — inaonyesha kadi ya utambulisho print("==== KADI YANGU ====") print("Jina: Amina Juma") print("Mji: Dodoma") print("Shule: Sekondari ya Jamhuri") print("Ninapenda: Mpira wa miguu") print("====================")
print("Moja\nMbili\nTatu")
>>> 60 * 60 * 24 86400
Kipindi 2 — Variables, Data Types, type(), input() na Type Conversion
Mtiririko wa kipindi
- Marudio ya kazi ya nyumbani (kadi + print)
- Variables: ni nini, jinsi ya kutaja (naming rules), kubadilisha thamani
- Data types:
int,float,str,bool+type() - Mapumziko
input()— kupokea data kutoka kwa mtumiaji- Type conversion:
int(),float(),str(),bool() - Zoezi darasani
- Q&A + kazi ya nyumbani
Elezo kwa mwalimu (soma kwanza wewe)
- Variable ni jina linaloshikilia (linaloelekeza kwenye) thamani.
umri = 20maana yake "jinaumrisasa linashikilia 20". Alama=si "sawa na" ya hisabati; ni assignment ("weka"). Upande wa kulia unahesabiwa kwanza, kisha matokeo yanawekwa kwenye jina la kushoto. - Unaweza kubadilisha thamani:
umri = 21— thamani ya zamani inapotea. - Sheria za majina (naming rules): yanaanza na herufi au
_; yanaweza kuwa na herufi, namba,_; hayawezi kuwa na nafasi au-; hayawezi kuanza na namba; si maneno ya Python (if,for,class...). Mtindo wa Python:snake_case(herufi ndogo +_), mf.jina_kamili. - Data types kuu 4:
int— namba kamili:5,-3,0,1_000_000float— namba yenye desimali:3.14,2.0,-0.5str(string) — maandishi ndani ya nukuu:"Amina","25"(hii ni str, si namba!)bool—TrueauFalsetu (herufi kubwa mwanzo)
type(x)inakuambia aina yax:type(5)→<class 'int'>.input("ujumbe")inasimamisha programu, inaonyesha ujumbe, inasubiri mtumiaji aandike kitu na kubonyeza Enter. Daima inarudishastr— hata mtumiaji akiandika25, unapata"25".- Type conversion:
int("25")→25;float("2.5")→2.5;str(25)→"25";int(3.9)→3(inakata desimali, haizungushi);int("2.5")→ ValueError;bool(0)→False,bool("")→False, karibu kila kitu kingine →True. - Kuunganisha strings:
"Habari " + "Amina"→"Habari Amina". Lakini"Umri: " + 20→ TypeError. Suluhisho:"Umri: " + str(20)auprint("Umri:", 20).
Sema hivi kwa mwanafunzi
- "Variable ni kama sanduku lenye lebo. Lebo ni jina (
umri), ndani ya sanduku kuna thamani (20). Ukiweka kitu kipya, cha zamani kinatolewa." - "Ishara
=kwenye Python tunaisoma 'weka'.x = 5→ 'weka 5 kwenye x'. Si swali, ni agizo." - "Data types ni kama aina za vitu sokoni: matunda yanapimwa kwa kilo (float), mayai yanahesabiwa moja moja (int), jina la duka ni maandishi (str), na 'duka liko wazi?' jibu ni ndiyo/hapana (bool)."
- "
input()ni kama karani wa benki anayekupa fomu — chochote utakachoandika, anakipokea kama maandishi. Kama unataka kufanya hesabu, lazima ukibadilishe kuwa namba."
Andika code hii live (share screen)
Hatua 1 — variables.py
jina = "Baraka" umri = 19 urefu = 1.72 ni_mwanafunzi = True print(jina) print(umri) print(urefu) print(ni_mwanafunzi)
Matokeo:
Baraka 19 1.72 True
Hatua 2 — Kubadilisha thamani na kutumia variable kwenye hesabu
umri = 19 print("Umri sasa:", umri) umri = umri + 1 # chukua umri wa sasa, ongeza 1, weka tena kwenye umri print("Mwaka ujao:", umri) a = 10 b = a # b inapata 10 a = 99 print(a, b) # b haibadiliki
Matokeo:
Umri sasa: 19 Mwaka ujao: 20 99 10
Hatua 3 — type()
print(type(19)) print(type(1.72)) print(type("Baraka")) print(type(True)) print(type("19")) # angalia! hii ni str
Matokeo:
<class 'int'> <class 'float'> <class 'str'> <class 'bool'> <class 'str'>
Hatua 4 — input() (file salamu2.py)
jina = input("Jina lako ni nani? ") mji = input("Unaishi mji gani? ") print("Karibu", jina, "kutoka", mji)
Mfano wa kuendesha:
Jina lako ni nani? Neema Unaishi mji gani? Mbeya Karibu Neema kutoka Mbeya
Mweleze: "Angalia nafasi baada ya ? ndani ya ujumbe — inafanya mtumiaji aandike baada ya nafasi."
Hatua 5 — Tatizo la input na namba (onyesha kosa kwanza!)
umri = input("Una miaka mingapi? ") print(type(umri)) print(umri + 1)
Una miaka mingapi? 20 <class 'str'> TypeError: can only concatenate str (not "int") to str
Kisha rekebisha:
umri = int(input("Una miaka mingapi? ")) print(type(umri)) print("Mwaka ujao utakuwa na miaka", umri + 1)
Una miaka mingapi? 20 <class 'int'> Mwaka ujao utakuwa na miaka 21
Hatua 6 — Conversion zaidi (REPL)
>>> int("42") 42 >>> float("3.5") 3.5 >>> int(7.9) 7 >>> round(7.9) 8 >>> str(100) + " shilingi" '100 shilingi' >>> "5" + "5" '55' >>> int("5") + int("5") 10 >>> bool(0), bool(5), bool(""), bool("hapana") (False, True, False, True) >>> int("2.5") ValueError: invalid literal for int() with base 10: '2.5' >>> int(float("2.5")) 2
Maswali ya kumuuliza mwanafunzi
x = 5kishax = x * 2—xni ngapi? — Jibu: 10.type("3.14")ni nini? — Jibu:<class 'str'>(iko ndani ya nukuu).- Kwa nini
input()+ hesabu inaleta error? — Jibu:inputinarudishastrkila mara; lazima tutumieint()aufloat(). - Jina gani la variable si sahihi:
jina_1,1jina,jina-kwanza,_siri,for? — Jibu:1jina(inaanza na namba),jina-kwanza(ina-),for(neno la Python). int(9.99)inatoa nini? — Jibu:9(inakata, haizungushi)."10" + "20"inatoa nini? — Jibu:"1020"— inaunganisha maandishi.
Makosa ya kawaida
| Kosa | Ujumbe wa error | Suluhisho |
|---|---|---|
| Kuunganisha str na int | TypeError: can only concatenate str (not "int") to str |
str(namba) au tumia koma kwenye print. |
| Kutumia variable kabla ya kuitengeneza | NameError: name 'jumla' is not defined |
Weka thamani kwanza; angalia spelling. |
Kubadilisha "2.5" kwa int() |
ValueError: invalid literal for int() with base 10: '2.5' |
Tumia float(). |
| Mtumiaji anaandika herufi badala ya namba | ValueError: invalid literal for int() with base 10: 'ishirini' |
Kwa sasa: mwambie aandike namba. (Tutajifunza try/except baadaye.) |
true badala ya True |
NameError: name 'true' is not defined |
True / False herufi kubwa mwanzo. |
| Nafasi ndani ya jina | jina kamili = "Ali" → SyntaxError: invalid syntax |
jina_kamili. |
Kugeuza upande: 5 = x |
SyntaxError: cannot assign to literal |
Jina kushoto, thamani kulia: x = 5. |
Zoezi darasani
- Andika programu inayouliza jina na mwaka wa kuzaliwa, kisha inaonyesha "Habari
, mwaka 2026 utatimiza miaka ". - Uliza bei ya kitu (inaweza kuwa na desimali) na idadi, onyesha jumla.
- Bila kuendesha, tabiri
type()ya:10,10.0,"10",10 > 5. Kisha thibitisha kwa code.
Jibu
# zoezi 1 jina = input("Jina lako: ") mwaka = int(input("Mwaka wa kuzaliwa: ")) umri = 2026 - mwaka print("Habari", jina + ", mwaka 2026 utatimiza miaka", umri)
# zoezi 2 bei = float(input("Bei ya kitu kimoja: ")) idadi = int(input("Idadi: ")) jumla = bei * idadi print("Jumla ni:", jumla)
# zoezi 3: int, float, str, bool print(type(10), type(10.0), type("10"), type(10 > 5)) # <class 'int'> <class 'float'> <class 'str'> <class 'bool'>
Kipindi 3 — Operators: Arithmetic, Comparison, Logical
Mtiririko wa kipindi
- Marudio ya kazi ya nyumbani (input + conversion)
- Arithmetic operators:
+ - * / // % **, mpangilio (precedence), shortcuts+= - Comparison operators:
== != < > <= >=— matokeo nibool - Mapumziko
- Logical operators:
and,or,not - Mradi mdogo: kikokotoo cha BMI / bei ya duka
- Marudio ya wiki nzima
- Q&A + kazi ya nyumbani
Elezo kwa mwalimu (soma kwanza wewe)
-
Arithmetic operators: | Operator | Maana | Mfano | Jibu | |---|---|---|---| |
+| jumlisha |7 + 2|9| |-| toa |7 - 2|5| |*| zidisha |7 * 2|14| |/| gawa (jibu daima float) |7 / 2|3.5| |//| gawa, chukua namba kamili (floor division) |7 // 2|3| |%| baki (modulo) |7 % 2|1| |**| kipeo (power) |7 ** 2|49| -
Kumbuka:
10 / 2→5.0(float), si5. %inatumika sana kujua kama namba ni shufwa (even):n % 2 == 0.//na%pamoja: dakika 135 =135 // 60saa (2) na135 % 60dakika (15).- Precedence (mpangilio):
**kwanza, kisha* / // %, kisha+ -. Mabano()yanashinda vyote. Ni kama BODMAS. - Shortcuts:
x += 5ni sawa nax = x + 5. Pia-=,*=,/=. +na*kwenye strings:"ha" * 3→"hahaha".- Comparison operators zinarudisha
TrueauFalse:==(sawa?),!=(si sawa?),<,>,<=,>=. Muhimu:=ni kuweka;==ni kuuliza "ni sawa?". - Logical operators:
A and B→Truekama zote mbili niTrue.A or B→Truekama angalau moja niTrue.not A→ inageuza:not True→False.
- Python inaruhusu kulinganisha mfululizo:
0 <= alama <= 100. - Floats si sahihi 100%:
0.1 + 0.2→0.30000000000000004. Hili ni kawaida kwa kompyuta zote. Tumiaround(x, 2).
Sema hivi kwa mwanafunzi
- "
//na%ni kama kugawa maembe 17 kwa watoto 5: kila mtoto anapata17 // 5 = 3, na yanabaki17 % 5 = 2." - "
==ni swali: 'hivi hivi viwili ni sawa?' Jibu ni ndiyo (True) au hapana (False)." - "
andni kama mlinzi wa klabu anayesema: 'lazima uwe na tiketi na umri zaidi ya 18'.orni kama mama anayesema: 'nitafurahi ukileta mkate au maziwa' — kimoja kinatosha." - "
notni kama kusema 'si kweli kwamba...'."
Andika code hii live (share screen)
Hatua 1 — hesabu.py
a = 17 b = 5 print("a + b =", a + b) print("a - b =", a - b) print("a * b =", a * b) print("a / b =", a / b) print("a // b =", a // b) print("a % b =", a % b) print("a ** 2 =", a ** 2)
Matokeo:
a + b = 22 a - b = 12 a * b = 85 a / b = 3.4 a // b = 3 a % b = 2 a ** 2 = 289
Hatua 2 — Precedence
print(2 + 3 * 4) # 14, si 20 print((2 + 3) * 4) # 20 print(2 ** 3 ** 2) # 512 (inaanza kulia: 3**2=9, 2**9=512) print(10 - 4 / 2) # 8.0
Hatua 3 — Mfano halisi: dakika kuwa saa
dakika_zote = int(input("Weka dakika: ")) saa = dakika_zote // 60 dakika = dakika_zote % 60 print(dakika_zote, "dakika ni saa", saa, "na dakika", dakika)
Weka dakika: 135 135 dakika ni saa 2 na dakika 15
Hatua 4 — Shortcuts
salio = 10000 salio -= 2500 # umenunua vocha salio += 5000 # umepokea pesa print("Salio:", salio) # Salio: 12500
Hatua 5 — Comparison
x = 10 print(x == 10) # True print(x != 10) # False print(x > 3) # True print(x <= 9) # False print("a" == "A") # False (case-sensitive) alama = 75 print(0 <= alama <= 100) # True n = 8 print("Ni shufwa?", n % 2 == 0) # Ni shufwa? True
Hatua 6 — Logical
umri = 20 ana_kitambulisho = True print(umri >= 18 and ana_kitambulisho) # True print(umri < 18 or ana_kitambulisho) # True print(not ana_kitambulisho) # False mvua = False jua = True print("Naenda nje?", jua and not mvua) # Naenda nje? True
Andika jedwali hili kwenye skrini (truth table):
A B A and B A or B True True True True True False False True False True False True False False False False
Hatua 7 — Mradi mdogo: BMI (bmi.py)
# Kikokotoo cha BMI (Body Mass Index) uzito = float(input("Uzito wako (kg): ")) urefu = float(input("Urefu wako (mita, mf. 1.70): ")) bmi = uzito / urefu ** 2 print("BMI yako ni:", round(bmi, 1)) print("Uzito wa kawaida (18.5 - 24.9)?", 18.5 <= bmi <= 24.9)
Uzito wako (kg): 65 Urefu wako (mita, mf. 1.70): 1.70 BMI yako ni: 22.5 Uzito wa kawaida (18.5 - 24.9)? True
Maswali ya kumuuliza mwanafunzi
20 / 4inatoa nini? — Jibu:5.0(float).20 % 6? — Jibu:2.- Unajuaje kama namba ni witiri (odd)? — Jibu:
n % 2 == 1(aun % 2 != 0). True and False or True? — Jibu:True(andinafanyika kwanza:False or True→True).- Tofauti ya
=na==? — Jibu:=inaweka thamani;==inalinganisha na kurudisha bool. "5" == 5? — Jibu:False— aina tofauti (str dhidi ya int).
Makosa ya kawaida
| Kosa | Ujumbe wa error | Suluhisho |
|---|---|---|
| Kugawa kwa sifuri | ZeroDivisionError: division by zero |
Hakikisha kigawanyo si 0. |
= badala ya == ndani ya print |
print(x = 5) → TypeError: 'x' is an invalid keyword argument for print() (matoleo mapya: print() got an unexpected keyword argument 'x') |
Tumia == kulinganisha. |
| Kusahau kubadilisha input | TypeError: unsupported operand type(s) for /: 'str' and 'int' |
float(input(...)). |
Kutarajia / kutoa int |
Jibu 5.0 badala ya 5 |
Tumia // kama unataka int. |
&&, ||, ! (kutoka lugha nyingine) |
SyntaxError: invalid syntax |
Python inatumia and, or, not. |
| Mpangilio wa hesabu | uzito / urefu * urefu inatoa uzito wenyewe |
Tumia urefu ** 2 au mabano uzito / (urefu * urefu). |
Kushangazwa na 0.1 + 0.2 |
0.30000000000000004 |
Kawaida; tumia round(). |
Zoezi darasani
- Uliza sekunde (mf. 3725), onyesha saa, dakika na sekunde.
- Uliza namba mbili, onyesha kama ya kwanza ni kubwa kuliko ya pili, na kama zote mbili ni chanya (> 0).
- Kikokotoo cha bei ya duka: uliza bei ya kitu na idadi; kama jumla ni zaidi ya 50,000 mteja anapata punguzo (discount) — onyesha
True/Falsekama anastahili, na jumla baada ya punguzo la 10% (kwa sasa hesabujumla * 0.9).
Jibu
# zoezi 1 sekunde_zote = int(input("Sekunde: ")) saa = sekunde_zote // 3600 baki = sekunde_zote % 3600 dakika = baki // 60 sekunde = baki % 60 print(saa, "saa,", dakika, "dakika,", sekunde, "sekunde") # 3725 -> 1 saa, 2 dakika, 5 sekunde
# zoezi 2 a = float(input("Namba ya kwanza: ")) b = float(input("Namba ya pili: ")) print("Ya kwanza ni kubwa?", a > b) print("Zote ni chanya?", a > 0 and b > 0)
# zoezi 3 bei = float(input("Bei: ")) idadi = int(input("Idadi: ")) jumla = bei * idadi print("Jumla:", jumla) print("Anastahili punguzo?", jumla > 50000) print("Jumla baada ya punguzo la 10%:", jumla * 0.9)
Kazi ya Nyumbani
(Kazi ya Kipindi 1 inakaguliwa Kipindi 2, ya Kipindi 2 Kipindi 3, ya Kipindi 3 kipindi kijacho.)
KN1 (baada ya Kipindi 1): Tengeneza shairi.py linaloonyesha ubeti mmoja wa shairi au wimbo unaoupenda (mistari 4), kisha mstari wa nyota * 20 ukitumia print("*" * 20). Weka comment juu.
KN2 (baada ya Kipindi 2): Tengeneza wasifu.py linalouliza: jina, umri, urefu (mita), na kama ni mwanafunzi (andika "ndiyo"/"hapana"). Onyesha kila thamani na type() yake. Kisha onyesha umri wake baada ya miaka 10.
KN3 (baada ya Kipindi 3): Tengeneza kibadilishaji.py: uliza kiasi cha shilingi za Tanzania (TZS), badilisha kuwa dola (USD) kwa kiwango 1 USD = 2,600 TZS (tumia variable KIWANGO). Onyesha jibu kwa desimali 2. Pia onyesha True/False kama kiasi kinatosha kununua kitu cha dola 50.
Jibu
# shairi.py — ubeti wa shairi print("Elimu ni bahari, haina mwisho kuogelea") print("Kila siku ni safari, maarifa kujipatia") print("Usichoke kusubiri, mafanikio yatakujia") print("Python tutaijua, kwa bidii na subira") print("*" * 20)
# wasifu.py jina = input("Jina: ") umri = int(input("Umri: ")) urefu = float(input("Urefu (m): ")) jibu = input("Wewe ni mwanafunzi? (ndiyo/hapana): ") ni_mwanafunzi = jibu == "ndiyo" print(jina, type(jina)) print(umri, type(umri)) print(urefu, type(urefu)) print(ni_mwanafunzi, type(ni_mwanafunzi)) print("Baada ya miaka 10 utakuwa na miaka", umri + 10)
Kumbuka: bool("hapana") ni True (string isiyo tupu) — ndiyo maana tunatumia jibu == "ndiyo". Mwambie mwanafunzi hili ni swali zuri la mjadala.
# kibadilishaji.py KIWANGO = 2600 tzs = float(input("Kiasi (TZS): ")) usd = tzs / KIWANGO print("Dola:", round(usd, 2)) print("Inatosha kununua kitu cha $50?", usd >= 50)
Ukiulizwa swali usilolijua
- Sema kwa uaminifu: "Swali zuri! Sina uhakika — tujaribu pamoja kwenye REPL" (mara nyingi kujaribu kunatoa jibu), au "Nitalitafuta na kukuletea Kipindi 2."
- Tafuta Google kwa Kiingereza:
python <tatizo>mf. "python input convert to int", au nakili mstari wa mwisho wa error. - Docs rasmi: https://docs.python.org/3/tutorial/introduction.html , https://docs.python.org/3/library/functions.html (print, input, int, type), https://code.visualstudio.com/docs/python/python-tutorial
Checklist ya mwisho wa wiki
- Mwanafunzi ana Python 3.12+ na VS Code + Python extension vinavyofanya kazi
- Anaweza kuendesha file kwa ▶ na kwa
python file.pykwenye PowerShell - Anajua kuingia na kutoka kwenye REPL
- Anatumia
print()na vitu vingi,sep,end,\n - Anaandika comments
# - Anatengeneza variables kwa majina sahihi (snake_case)
- Anatofautisha
int,float,str,boolna anatumiatype() - Anajua
input()inarudishastrna anatumiaint()/float() - Anatumia
+ - * / // % **na anaelewa precedence - Anatofautisha
=na==, na anatumiaand,or,not - Anasoma ujumbe wa error (mstari wa mwisho) bila hofu