Riešenie úloh 2. cvičenia


  1. Riešenie:

    slovo = input('zadaj slovo: ')
    i = 1
    for pismeno in slovo:
        print(pismeno * i)
        i += 1
    

    vylepšený variant:

    slovo = input('zadaj slovo: ')
    ret, i = '', len(slovo)
    for pismeno in slovo:
        ret += pismeno
        print(' ' * i + ret)
        i -= 1
    

    alebo (kde využijeme, že f'{slovo:>20}' zarovná slovo na šírku 20 ale vpravo)

    slovo = input('zadaj slovo: ')
    ret = ''
    for pismeno in slovo:
        ret += pismeno
        print(f'{ret:>{len(slovo)}}')
    

  1. Riešenie:

    cislo = int(input('zadaj číslo: '))
    sucet, i = 0, 1
    for znak in str(cislo):
        cifra = int(znak)
        print(f'{i}. cifra', cifra)
        sucet += cifra
        i += 1
    print('ciferný súčet je', sucet)
    

  1. Riešenie:

    n = int(input('zadaj počet: '))
    pi = 0
    citatel = 4
    for menovatel in range(1, 2 * n, 2):
        pi += citatel / menovatel
        citatel = -citatel
    print('pi =', pi)
    

  1. Riešenie:

    samohlasky = input('zadaj samohlásky: ')
    for i in samohlasky:
        print(f'S{i}d{i} m{i}ch{i} n{i} st{i}n{i}, s{i}d{i} {i} sp{i}.')
    

  1. Riešenie:

    od = int(input('zadaj od: '))
    do = int(input('zadaj do: '))
    for i in range(od, do + 1):
        for j in range(od, do + 1):
            print(f'{i * j:4}', end=' ')
        print()
    
    od = int(input('zadaj od: '))
    do = int(input('zadaj do: '))
    print('     |', end=' ')
    for j in range(od, do + 1):
        print(f'{j:4}', end=' ')
    print()
    print('=====|=' + '=' * (do - od + 1) * 5)
    for i in range(od, do + 1):
        print(f'{i : 4} |', end=' ')
        for j in range(od, do + 1):
            print(f'{i * j:4}', end=' ')
        print()
    

  1. Riešenie:

    from math import sin, cos, radians
    
    od = int(input('zadaj od: '))
    do = int(input('zadaj do: '))
    krok = int(input('zadaj krok: '))
    for uhol in range(od, do + 1, krok):
        rad = radians(uhol)
        sin2 = sin(rad) ** 2
        cos2 = cos(rad) ** 2
        print(f'{uhol:3} sin**2={sin2:6.4f} cos**2={cos2:6.4f} súčet={sin2 + cos2}')
    

  1. Riešenie:

    import random
    
    n = int(input('zadaj n: '))
    pocet = 100
    for i in range(n):
        nast = random.randint(0, 9)
        vyst = random.randint(0, 9)
        print(f'Vo vlaku bolo {pocet} ľudí, {nast} nastúpilo, {vyst} vystúpilo. Zostalo {pocet + nast - vyst}.')
        pocet += nast - vyst
    

  1. Riešenie:

    import random
    
    pr = int(input('zadaj počet riadkov: '))
    ps = int(input('zadaj počet stĺpcov: '))
    for i in range(pr):
        for j in range(ps):
            print(random.choice('O-'), end='')
        print()
    

  1. Riešenie:

    import random
    
    n = int(input('zadaj n: '))
    for i in range(n):
        kocka1 = random.randint(1, 6)
        kocka2 = random.randint(1, 6)
        print('na 1. kocke padla', kocka1)
        print('na 2. kocke padla', kocka2)
        print('ich súčet je', kocka1 + kocka2)
        print('======================')
    

  1. Riešenie:

    import random
    
    n = int(input('zadaj n: '))
    k = int(input('zadaj počet kociek: '))
    for i in range(n):
        sucet = 0
        for i in range(1, k+1):
            kocka = random.randint(1, 6)
            sucet += kocka
            print(f'na {i}. kocke padla', kocka)
        print('ich súčet je', sucet)
        print('======================')
    

  1. Riešenie:

    n = int(input('zadaj n: '))
    for i in range(n):
        for j in range(3):
            for k in range(n):
                print(f'{i * n + k + 1:2}', end=' ')
            print(end='   ')
        print()