Vissza

2. labor

  1. Definiáljunk egy olyan függvényt mely meghatározza:
  2. A homerseklet.txt állományban városok időjárásával kapcsolatos adatok vannak megadva. Az állománykezelés kódsora itt található. Határozzuk meg
  3. Definiáljunk egy olyan függvényt, amely meghatározza több, a billentyűzetről beolvasott (x, n) számpár esetében xn értékét, alkalmazva a gyorshatványozó algoritmust. Minden számpár esetében azt is határozzuk meg, hogy hány szorzást végzett az algoritmus.
  4. Határozzuk meg hány számjegyből áll
  5. Határozzuk meg, hogy melyik az a legnagyobb n érték, amelyre n! kevesebb, mint k számjegyből áll. Mennyi az eredmény ha k = 10000?
  6. Határozzuk meg a következő számsorozatok első n tagját, ahol az n értékét a billentyűzetről olvassuk be:
  7. Ellenőrizzük, igazak-e a következő összefüggések:

Megoldott feladatok
1. Billentyűzetről beolvasott számok összege, szorzata
def muveletek():
print('n: ', end = ' ')
n = int(input())
s, p = 0, 1
for i in range(0, n):
print('x' + str(i) + ': ', end = ' ')
x = int(input())
s += x
p *= x
return (s, p)

2. Listában levő számok összege,
def lOsszeg(L):
n = len(L)
s = 0
for i in range(n):
s += L[i]
return s

>>> lOsszeg([3, 7, 8, 10, 11])
39

3. Listában levő számok összege, rekurzív változat:
def rOsszeg(n, L):
if n < 0: return 0
return L[n] + rOsszeg(n - 1, L)

def fOsszeg(L):
n = len(L)
return rOsszeg(n-1, L)

>>> fOsszeg([3, 7, 8, 10, 11])
39

4. Billentyűzetről beolvasott számok közül a legkisebb:
def fmin():
print('n:', end = ' ')
n = int(input())

print('x1: ', end = ' ')
x = int(input())
m = x

for i in range(2, n + 1):
print ('x' + str(i) + ':', end = ' ')
x = int(input())
if x < m: m = x
return m

5. Ellenőrizzük, hogy fennáll-e: sum (i)i = 1,n = n·(n+1)/2
def ellen():
print('n: ', end = ' ')
n = int(input())
msum = 0
for i in range(1, n+1):
msum += i
print (msum, n * (n+1)//2)

6. Egy szövegállomány minden egyes sorában egy egész szám van. Olvassuk ki ezeket a számokat és tegyük őket egy listába:
def fileolvas1(nev):
f = open(nev, 'rt')
temp = f.read()
temp = temp.split('\n')
szL = []
for elem in temp:
szL += [long(elem)]
f.close()
return szL

>>> fileolvas1('in.txt')

def fileolvas2(nev):
inf = open(nev, 'rt')
szL = []
while True:
temp = inf.readline()
if temp == '': break
szL += [long(temp)]
inf.close()
return szL

>>> fileolvas2('in.txt')

7. A homerseklet.txt állomány adatainak kiolvasása:
def homersekletF():
inf = open('homerseklet.txt', 'rt')
i = 0
honapok = inf.readline().split()
varosok = []
maxH = []
minH = []
while True:
temp = inf.readline()
if not temp: break
temp = temp.strip()
varosok += [temp]
maxH = fugv (maxH, inf)
minH = fugv (minH, inf)
inf.readline()
inf.close()
print('honap:\n', honapok)
print('varosok:\n', varosok)
print('max atlag homersekletek, honaponta/varosonkent: \n', maxH)
print('min atlag homersekletek, honaponta/varosonkent: \n',minH)

def fugv(maxH, inf):
temp = inf.readline()
temp = temp.split('\t')
temp = temp [1:]
l1 = []
for elem in temp:
l1 += [int(elem)]
maxH += [l1]
return maxH