# -*- coding: cp1250 -*- import random import math import turtle import time class punkt(object): def __init__(self,x,y): self.__x=x self.__y=y def getxy(self): return(self.__x,self.__y) def draw(self): turtle.speed(0) turtle.up() turtle.goto(self.__x,self.__y) turtle.dot() turtle.write(turtle.pos()) class wektor(object): def __init__(self,start,koniec): self.__start=start self.__koniec=koniec def getwektor(self): return(self.__start.getxy(),self.__koniec.getxy()) def draww(self,px,py): turtle.up() turtle.goto(self.__start.getxy()[0]+px,self.__start.getxy()[1]+py) turtle.write(str(self.__start.getxy()[0])+"; "+str(self.__start.getxy()[1])) turtle.down() turtle.goto(self.__koniec.getxy()[0]+px,self.__koniec.getxy()[1]+py) turtle.write(str(self.__koniec.getxy()[0])+"; "+str(self.__koniec.getxy()[1])) turtle.up() def dlugosc(self): a = math.sqrt((self.__start.getxy()[0]+self.__koniec.getxy()[0])**2+(self.__start.getxy()[1]+self.__koniec.getxy()[1])**2) return a def sortuj(list1): for i in range(1,len(list1)): key=list1[i] j=i-1 while j>=0 and (list1[j].getxy()[0]>key.getxy()[0]) or (list1[i].getxy()[0]==key.getxy()[0] and list1[i].getxy()[1]>key.getxy()[1]): list1[j+1]=list1[j] j=j-1 list1[j+1]=key przypadki = [] turtle.speed(0) for r in range(0,10): listap = [] for x in range(5): a = punkt(random.randint(-300,300),random.randint(-300,300)) listap.append(a) wektory = [] dl = 0 for x in range(0,len(listap)-1): a = wektor(listap[x],listap[x+1]) dl = dl + a.dlugosc() wektory.append(a) for x in wektory: x.draww(-400,0) sortuj(listap) dl2 = 0 wektoryp = [] for x in range(0,len(listap)-1): a = wektor(listap[x],listap[x+1]) dl2 = dl2 + a.dlugosc() wektoryp.append(a) for x in wektoryp: x.draww(400,0) turtle.goto(-300,-320) turtle.write("dlugosc = " + str(dl)) turtle.goto(300,-320) turtle.write("dlugosc = " + str(dl2)) przypadki.append((r,dl,dl2)) turtle.clear() turtle.done() print(przypadki) print("Liczba przypadkow: " + str(len(przypadki))) for x in range(0,len(przypadki)): licznika = 0 licznikb = 0 if przypadki[x][1]>przypadki[x][2]: licznika = licznika+1 elif przypadki[x][1]