Online konzol: https://repl.it/
Google tananyag: https://developers.google.com/edu/python
1.) Írjon kódot amely bekér egy fájlnevet és kiírja a kiterjesztését
2.) Kérje be egy kör sugarát és számítsa ki a területét és írassa ki 2 tizedesjegy pontossággal.
3.) Kérjen be egy számjegyet (n) és képezze az n + nn + nnn számot. Pl. n = 6 → 738
4.) Készítsen egy foo() függvényt minta dokumentációval és írassa ki azt.
5.) Írjon programot, amely két megadott pont közötti távolságot számítja a síkban: p1[1,2] p2[3,4]
6.) Készítsen egy listát 10 elemmel, ahol minden elem négyzetszám és írja ki az 3. elemtől: eredeti lista: [1,2,9,16,25,36… eredmény: 9,16,25
7.) Adott a és b lista, írassa ki a közös elemeket: a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89], b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
8.) Kérjen be egy mondatot a felhasználótól és írja ki szavanként visszafelé: pl. aa bb cc –> cc bb aa
9.) Készítsen függvény dekorátort, amely hívás előtt és után kiírja a 'before' és 'after' szavakat
10.) Készítsünk egy cache dekorátort, amely paraméterben adott ideig tárolja egy függvény visszatérő értékét
További Python feladatok és megoldások (angol): https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt
1.)
filename = input("Input filename: ")
splitted = filename.split(".")
print ("here you are the extension of the file: %s" % splitted[-1])
2.)
from math import pi
r = float(input ("Radius : "))
print("r = %0.2f, area = %0.2f" % (r, pi * r**2))
3.)
a = int(input("type an integer: "))
n1 = int("%s" % a)
n2 = int("%s%s" % (a,a))
n3 = int("%s%s%s" % (a,a,a))
print(n1+n2+n3)
4.)
def foo(): """ Documentation for foo() function. No return value and args """ print(foo.__doc__)
5.a)
import math p1 = [1, 2] p2 = [3, 4] distance = math.sqrt( ((p1[0]-p2[0])**2)+((p1[1]-p2[1])**2) ) print(distance)
5.b)
from collections import namedtuple
import math
Point = namedtuple('Point', ['x', 'y'])
p1 = Point(0,0)
p2 = Point(x=2,y=3)
dist = math.sqrt((p1.x - p2.x) ** 2 + (p1.y - p2.y) ** 2)
print(dist)
6.)
l = list() for i in range(1,11): l.append(i**2) print(l[3:])
„list comprehension”-el rövidebb:
k = [ i ** 2 for i in range(1,11) ] print(k[3:])
7.)
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] c = set(a).intersection(b) print(set(x for x in a if x in b)) print(c)
8.)
s = input('Sentence :')
l = s.split(' ')
r = [item for item in l[::-1]]
print(' '.join(r))
9.)
def logger(f):
def decorator():
print('before')
f()
print('after')
return decorator
@logger
def my_func():
print("my_func")
my_func()
10.)
import time
current_time_millis = lambda: int(round(time.time() * 1000))
def cache(expiration_time):
def cache_decorator(f):
memo = {}
def helper(x):
if x not in memo:
memo[x] = {'value':f(x), 'time': current_time_millis()}
else:
if current_time_millis() - memo[x]['time'] > expiration_time:
memo[x] = {'value':f(x), 'time': current_time_millis()}
else:
print("from cache: %s" % memo[x]['value'])
return memo[x]
return helper
return cache_decorator
@cache(5000)
def long_calc(val):
print(val)
return val
long_calc(12)
time.sleep(6)
long_calc(12)
long_calc(12)
long_calc(10)