#!/usr/bin/python3
#List Comprehensions
import random
def main():
	ml=[]
	for i in range(10):
		ml.append(i)
	print(*ml)
	#idia ektelesh me allo tropo, pio syntomo
	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
	x/2 -> float
	x//2 ->int (akeraia diairesh)
	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)
	#tomh listwn
	list1=[1,2,3,4]
	list2=[3,4,5,6]
	tomh=[x for x in list1 if x in list2]
	print(tomh)
	#enwsh homework
	#list me tuples
	sqt=[(1,2),(2,3),(3,4)]
	print(sqt)
	print(sqt[0])
	print((sqt[0])[0])
	sqtn=[[1,2],[2,3],[3,4]] #didiastath lista
	print(sqtn[0][1])
	print(f'shape=({len(sqtn)},{len(sqtn[0])})') #problhma me auton ton tropo -> den kseroume to bathos(ypothesame oti einai didiastato)
	#Anastrofh listas
	original=[1,2,3,4,5]
	slice=original[0:2:1] #kai edw to telos tou slice den tha einai to 2 alla to 1, [start:end:step]
	print(slice)
	rev=original[::-1] #auto shmainei oti tha ksekinhsoume me bhma -1, ara anapoda
	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 mhdenika
	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)
	#Trisdiastatos
	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("Average=",sum(numlist)/len(numlist))
if __name__=="__main__":
	main()
