# Autor: Vaclav Hejret # C2184 Uvod do programovani v Pythonu # Kazde zadani ma ruzne mnozstvi reseni, ktere vedou ke stejnemu vysledku # Tato reseni jsou jedny z moznych #3.1a #nacte vstup od uzivatele a = input("Zadej slovo: ") #testuje, zda jsou v retezci pouze pismena if a.isalpha(): print("Slozene pouze z pismen") #pokud nejsou jen pismena else: print("Obsahuje i jine znaky nez pismena") #3.1b b = input("Zadej cislo: ") #testuje, zda jsou v retezci pouze cisla if b.isdigit(): #pokud sou cisla, prevde na typ integer b = int(b) #testuje, zda je cislo mensi nez 100 if b < 100: print("Slozene pouze z cisel a mensi nez 100") #pokud neodpovida zadani else: print("Obsahuje i jine znaky nez cisla nebo neni mensi nez 100") #3.1c c = input("Zadej float: ") #testuje, zda je v retezci jedna tecka if c.count(".") == 1: #pokud je pouze jedna tecka, prepise ji za nic c = c.replace(".","") #a testuje, zda zbytek retezce obsahuje pouze cisla if c.isdigit(): print("Jedna se o float") #pokud ne else: print("Nejedna se o float") #3.1d d = input("Zadej retezec obsahujici B nebo d: ") #testuje, zda jsou v retezci pismena B nebo d if "B" in d or "c" in d: print("Obsahuje pismeno B nebo c") #pokud ne else: print("Neobsahuje pismeno B nebo c") #3.1e e = input("Zadej retezec obsahujici pismeno d alespon desetkrat: ") #testuje, zda je v retezci pismeno d alespon desetkrat if e.count("d") >= 10: print("Obsahuje pismeno d alespon desetkrat") #pokud ne else: print("Neobsahuje pismeno d alespon desetkrat") #3.1f f = input("Zadej retezec zacinajici pomlckou: ") #testuje, zda retezec zacina pomlckou if f.startswith("-"): print("Retezec zacina pomlckou") #pokud ne else: print("Retezec nezacina pomlckou") #alternativne s indexovanim pole #prevede retezec na seznam f = list(f) if f[0] == "-": print("Retezec zacina pomlckou") else: print("Retezec nezacina pomlckou") #3.1g g = input("Zadej prvocislo: ") #testuje, zda jsou v retezci pouze cisla if g.isdigit(): #pokud ano, prevede na typ integer g = int(g) #testuje zda je cislo v rozmezi 0 az 100 if g > 0 and g < 100 : #cyklus jdouci od dvojky, jelikoz kazde cislo je delitelne jednickou az do cisla o 1 mensi nez zadane cislo for i in range(2,g): #testuje zda je zadane cislo delitelne beze zbytku vsemi cisly mensimi nez nami zadane #pokud je delitelne jakymkoliv cislem nesi nez zadane cislo, vypise ze neni prvocislo #a cyklus ukonci pomoci klicoveho slova break if (g % i) == 0: print("Neni prvocislo mezi 0 a 100") break # pokud cyklus probehne aniz by splnil podminku, jedna se o prvocislo else: print("Prvocislo mezi 0 a 100") #pokud neni retezec slozen pouze z cisel else: print("Neni prvocislo mezi 0 a 100") #3.2a i = 1 #vypise cisla od jednicky do desitky while i <= 10: #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i,end = " ") i +=1 #vypise konec radku, jelikoz v cyklu k tomu nedoslo print() #3.2b i = 0 #vypise cisla od 0 do 12 po trech while i <= 12: #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i, end = " ") #zajisti skok vzdy o 3 i += 3 print() #3.2c i = 5 #vypise cisla od 5 do -5 while i >= -5: #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i, end = " ") #zajisti klesani hodnoty i o -1 i -= 1 print() #3.2d i = 0.0 #vypise cisla od 0.0 do 1.0 po 0.2 while i <= 1: #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i, end = " ") #zajisti krok o 0.2 i += 0.2 print() #3.2e i = 4 #vypise cisla od 4 do 0.125 delenim 2 while i >= 0.125: #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i, end = " ") #zajisti krok o i/2 i = i/2. print() #3.2f i = 97 #vypise pismena abecedy od a do z pomoci prevodu cisel pres funkci chr() na znaky v ASCII tabulce #cislo 97 odpovida pismenu a #cislo 122 odpovida pismenu z while i <= 122: #aby se pismena vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(chr(i),end = " ") i += 1 print() #3.3a #vypise cisla pomoci cyklu v rozmezi 1 az 10 for i in range(1,11): #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i, end = " ") print() #3.3b #vypise cisla od nuly do 12 s krokem o 3, to zajistime tretim argumentem ve funkci range, ktery udava krok for i in range(0,13,3): #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i, end = " ") print() #3.3c #vypise cisla od 5 do -5 for i in range(5,-6,-1): #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(i, end = " ") print() #3.3d #vypise cisla od 0.0 do 1.0 po kroku 0.2 #je zapotrebi pomocna promenna, kterou budeme navysovat o 0.2 x = 0.0 #budeme ji navysovat o 0.2 tolikrat, kolikrat pobezi cyklus, tedy petkrat for i in range(0,6): #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(x, end = " ") x += 0.2 print() #3.3e #opet potreba pomocna promenna, kterou budeme snizovat podle x/2 x = 4 #budeme ji opet snizovat tolikrat, kolikrat pobezi cyklus, tedy 5krat for i in range(0,6): #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(x, end = " ") x = x/2. print() #3.3f #vypise pismena abecedy od a do z opet pomoci prevodu cisel pres funkci chr() na znaky ASCII tabulky #cislo 97 odpovida pismenu a #cislo 122 odpovida pismenu z for i in range(97,123): #aby se cisla vypsala do radku, pouzijeme argument funkce print end = " ", ktery zaruci, ze nedojde #k zalomeni radku print(chr(i),end = " ") print()