Učíme sa Python – časť 4. Domáca úloha – RIEŠENIE

0

Domáce úlohy A riešenia:

1. Napíšte funkciu, ktorá vypíše iba párne čísla od M po N (vrátane N; M a N sú parametrami funkcie). M a N si na testovanie pýtajte od používateľa ( funkcia input()).

Riešenie:

def vypis_MazN(M, N): 
    for cislo in range(M, N + 1):
         if (cislo % 2 == 0):
             print(cislo)


M = input("prosim prve cislo ") # M bude text
M = int(M) # premenim si M na cislo


N = input("prosim druhe cislo ") # N bude text
N = int(N) # premenim si N na cislo


vypis_MazN(M, N)

# Priklad priebehu programu:

# prosim prve cislo 10
# prosim druhe cislo 20
# 10
# 12
# 14
# 16
# 18
# 20

 

2. Jakub v práci zarobí každý deň v mesiaci o jedno euro navyše. Prvý deň v mesiaci zarobí 1 euro. Druhý deň zarobí  2 eurá. Tretí deň 3 eurá. A tak ďalej, až v 30. deň mesiaca zarobí 30 eur. Napíšte funkciu, ktorá Jakubovi pomôže vypočítať, koľko peňazí zarobí za mesiac. (dajme tomu, že každý mesiac ma 30 dní).

Riešenie:

def mesacnyZarobok():
    zarobok = 0 # vytvorim si premennu zarobok a poviem, ze sa rovna zatial nule
    for i in range(1, 31): # i pojde od 1 do 30 vratane (mesiac ma 30 dni)
        zarobok = zarobok + i # zarobok vzdy v cykle zvacsim o i
    print("Mesacny zarobok je " + str(zarobok))

mesacnyZarobok() # Mesacny zarobok je 465

V cykle sa nám bude „i“ zväčšovať vždy o jedno. Najprv bude mať hodnotu 1, potom 2, potom 3 atď, až kým nebude mať hodnotu 30.
V našom cykle budeme vždy zväčšovať zárobok o hodnotu „i“.

Ukážeme si, ako bude vyzerať prvých 5 cyklov a posledný cyklus:

Bonus: (FizzBuzz)

Ževraj veľa programátorov nevie vyriešiť túto úlohu:

Napíšte funkciu, ktorá vypíše čísla od 1 po N. ALE:
1. Ak je číslo deliteľné číslom 3, tak namiesto daného čísla vypíše „Fizz“.
2. Ak je číslo deliteľné číslom 5, tak namisto daného čísla vypíše „Buzz“.
3. Ak je číslo deliteľné číslom 3 a číslom 5 naraz, tak program namiesto čísla vypíše „FizzBuzz“.

Riešenie:

def fizzbuzz(N):
    for i in range (1, N + 1): # od 1 po N vratane
        if (i % 3 == 0 and i % 5 == 0): # ak je i delitelne 3 a zaroven je delitelne 5
            print("FizzBuzz")
        elif (i % 3 == 0): # ak je i delitelne iba 3
            print("Fizz")
        elif (i % 5 == 0): # ak je i delitelne iba 5
            print("Buzz")
        else:
            print(i) # i nie je delitelne ani 3 ani 5


fizzbuzz(15)
# 1
# 2
# Fizz
# 4
# Buzz
# Fizz
# 7
# 8
# Fizz
# Buzz
# 11
# Fizz
# 13
# 14
# FizzBuzz

 

 


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.