#!/usr/bin/python3
#list comprehensions
import random
def main():
	ml=[]
	for i in range(10):
		ml.append(i)
	print (*ml)

	ml=[i for i in range(10)]
	sq=[x**2 for x in range (1,11)]
	print (f'List sq len={len(sq)}')
	for el in sq:
		print (el, end=',')
	print ("")
	print (*sq)
	print (sq)
	"""
	x**2
	x/2 -> float
	x//2 -> int
	x%2 -> modulo
	"""
	#filtrarisma listas
	ml=[i for i in range(100)]
	even_num=[x for x in ml if x%2==0]
	print (even_num)
	#Tomi liston
	list1=[1,2,3,4]
	list2=[3,4,5,6]
	tomi=[x for x in list1 if x in list2]
	print (tomi)
	#list me tuples
	sqt=[(1,2),(2,3),(3,4)]
	print(sqt)
	print(sqt[0])
	print ((sqt[0])[0])
	#2d lists
	sqtn=[[1,2],[2,3],[3,4]]
	print (sqtn[0][1])
	print (f'shape=({len(sqtn)},{len(sqtn[0])})')
	#anastrofi listas
	original=[1,2,3,4,5]
	slice=original[0:2]
	print(slice)
	rev=original[::-1]
	print(original)
	print(rev)
	#pinakaw polaplasiasmou
	mul_tab=[[i*j for j in range(1,4)] for i in range(1,4)]
	print (mul_tab)
	#pinakas nxn me midenika
	my_ml=None
	n=None
	try:
		n=input("Δώσε n:")
		n=int(n)
		my_ml=[[0 for _ in range(n)] for _ in range(n)]
	except Exception as e:
		print("exception:" +str(e))
	print(my_ml)
	#3D
	cube=[[[1 for _ in range (3)] for _ in range (n)] for _ in range(n)]
	print (cube)
	print (cube[0][0])
	#listes kai tyxaioi ariumoi
	numlist=[random.randint(1,100) for _ in range(n)]
	print ("Λιστα:",numlist)
	print ("sum=",sum(numlist))
	print ("Average=",sum(numlist)/len(numlist))
if __name__=="__main__":
	main()
