Python pamati // un ievade/izvade
Iemācies nolasīt lietotāja ievadi ar input(), apstrādāt datu tipus
un izvadīt formatētus rezultātus ar f-strings. Pirmā interaktīvā programma!
6 stundas - tēmas saturs
No datu tipiem un ievades līdz interaktīvam skaitļu duelim.
Ievade un datu tipi
Iepazīsti četrus Python pamata datu tipus un kā tos nolasīt no input().
Interaktivitāte un konvertācija
Konvertē ievades tekstu uz skaitļiem un veic aprēķinus ar int() un float().
Matemātika un f-strings
Veic sarežģītākus aprēķinus un izvadi rezultātus ar formatētiem f-string veidnēm.
Koda stils un komentāri
Iepazīsti PEP 8 standartus, snake_case nosaukumus un # komentāru kultūru.
Spēles plānošana
Plāno skaitļu minēšanas spēli ar plūsmas shēmu pirms koda rakstīšanas.
Noslēguma projekts: Skaitļu duelītis
Izveido interaktīvu spēli starp diviem spēlētājiem ar skaitļu aprēķiniem un rezultātu.
2. tēmas špikeris - Python pamati un ievade/izvade
Datu tipi, ievade, matemātika, f-string un koda stils. Katrs bloks atbilst vienai stundai.
2.1-2.2 Ievade un datu tipi
# input() VIENMĒR atgriež tekstu (str) - arī tad, ja ievadi ciparus!
vards = input("Vārds: ") # str
punkti = int(input("Punkti: ")) # str -> int
reizinatajs = float(input("Reizinātājs: ")) # str -> float (PUNKTS, ne komats)
# Kāpēc tas ir svarīgi:
a = input("Skaitlis: ") # ievadi 5
b = input("Skaitlis: ") # ievadi 5
print(a + b) # 55 <- teksti tiek SALIKTI kopā
print(int(a) + int(b)) # 10 <- skaitļi tiek SASKAITĪTI
print(type(punkti)) # <class 'int'>
# Biežākās kļūdas
# ValueError: int("desmit") vai float("1,5") -> jālieto punkts: 1.5
# SyntaxError: int(input("Punkti: ") -> trūkst aizverošā iekava
Ja 5 + 5 dod 55, tu esi aizmirsis int().
2.3 Matemātikas operatori un f-string
17 / 5 # 3.4 parastā dalīšana (vienmēr float)
17 // 5 # 3 veselā dalīšana - cik pilnu reižu ietilpst
17 % 5 # 2 atlikums - kas paliek pāri
2 ** 3 # 8 kāpināšana
# Praktisks piemērs: cik somu vajag?
mantas, ietilpiba = 17, 5
pilnas = mantas // ietilpiba # 3 pilnas somas
pari = mantas % ietilpiba # 2 mantas pāri
# f-string: burts f pirms pēdiņām, mainīgais {figūriekavās}
print(f"Vajag {pilnas} somas un {pari} paliks pāri.")
print(f"Vidēji {mantas / ietilpiba:.1f} somas") # :.1f = 1 cipars aiz punkta
print(f"Spēks: {limenis ** 2}") # var rēķināt iekavās
Bez :.1f dalīšana var dot 3.4000000000000004. Ar to - tīru 3.4.
2.4 Koda stils (PEP 8)
# PAREIZI # NEPAREIZI
speletaja_vards = "Anna" # SpeletajaVards = "Anna"
hp_punkti = 100 # x = 100
atlikums = hp - jauda # atlikums=hp-jauda
"""
Programmas apraksts faila sākumā.
"""
# Komentārs saka KĀPĒC, nevis KO
# Slikti: pieskaita 10
# Labi: jaunam spēlētājam pienākas starta bonuss
kopejie = int(input("Punkti: ")) + 10
# Likumi:
# mazie burti, vārdus atdala ar _ (snake_case)
# atstarpes ap operatoriem
# tukša rinda starp loģiskām daļām
# vārds pasaka, kas mainīgajā ir
Labs mainīgā vārds ir vērtīgāks par komentāru - komentārs noveco, vārds paliek.
2.5 Plānošana pirms koda
# Katra programma = trīs soļi
# 1. IEVADE -> ko prasīsim lietotājam
# 2. APSTRĀDE -> ko rēķināsim
# 3. IZVADE -> ko parādīsim
# Pseidokods pirms koda rakstīšanas:
# 1. Sasveicinies un izskaidro noteikumus
# 2. Iegūt 'vards' (str)
# 3. Iegūt 'speks' (int) un 'veiksme' (float)
# 4. Aprēķināt: rezultats = (speks ** 2) * veiksme
# 5. Parādīt rezultātu ar f-string
# Mainīgo tabula, ko uzraksti PIRMS koda:
# vards str no input()
# speks int no input()
# veiksme float no input()
# rezultats float izrēķināts
Formulu pārbaudi ar roku uz trim skaitļiem, pirms raksti visu programmu.
2.6 Noslēguma projekts: viss kopā
# Skaitļu duelītis - 2. tēmas prasmes vienā programmā
# Autors: Vārds Uzvārds
vards = input("Ievadi varoņa vārdu: ")
speks = int(input("Uzbrukuma spēks: "))
veiksme = float(input("Veiksmes koeficients: "))
# Spēka kvadrāts padara stiprus varoņus manāmi pārākus
rezultats = (speks ** 2) * veiksme
print(f"{vards} duelī iegūst {rezultats:.1f} punktus!")
# Pārbaudi ar roku: speks=5, veiksme=1.2 -> 25 * 1.2 = 30.0
Iesniedzot: mainīgie snake_case, atstarpes ap operatoriem, viens jēdzīgs komentārs, fails GitHub.