#!/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 (sq, end=',')
                print ("")
                print (*sq)
                print(sq)
                
        """
        x**2
        x/2 -> float
        x//2 -> int
        x%2 -> modulo
        """  
        #filtrarisma listas
        ml=[i for 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 list 2]
        print (tomi)
        #List me tuples
        sqt=[(1,2),(2,3),(3,4)]
        print (sqt)
        print (sqt[0])
        print ((sqt[0])[0])
        #2D list
        sqtn=[[1,2],[2,3],[3,4]]
        print (sqtn[0][1])
        print (f'{len(sqtn)},{len(sqtn[0])}')
        #Anastrofi listas
        original=[1,2,3,4,5]
        slice=original[0:2]
        print (slice)
        rev=original[::-1]
        print (rev)
        #Pinakas pollaplasiasmou
        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])

       #Λίστες και τυχαίοι αριθμοί
       numlist=[random.randint(1,100) for _ in range(n)]
       print ("Λίστα:,numlist)
       print ('Sum=",sum(numlist))
       print ("Averange=",sum(numlist)/len(numlist))

      
if __name__="__main__":
          main()
