Συζητήσεις > python

Άσκηση: Τρίγωνα;

<< < (2/2)

vagvaf:

--- Quote from: Κωστής on 27 Δεκ 2007, 17:42 ---μια αποριούλα: για 3,4,7 και για 0,0,0 (για παραδειγμα) το σκριπτακι σου βγαζει οτι σχηματιζουν τρίγωνο; με τη συνθήκα που εχεις βαλει

--- Code: ---    if a+b>=c and a+c>=b and c+b>=a:
--- End code ---
νομιζω ότι και αυτούς του συνδυασμούς βγαζει οτι σχηματιζουν τρίγωνο... ???

--- End quote ---

Θεωρητικά και το 3 4 7 είναι τρίγωνο εκφυλισμένο σε ευθεία.

Στο  0 0 0 κάνει raise ZeroDivisionError: float division
το οποιο θα το διορθωσω, δεν περιμενα να βαλει κανεις 0 0 0 για πλευρες τριγωνου  :P

vagvaf:
ανανεωμένος κώδικας


--- Code: ---import math
x=1
f=open('/home/sairinlote/Desktop/test2.txt')
for line in f:
    (a,b,c)=line.split(' ')
    a,b,c=float(a),float(b),float(c)
    if a+b>c and a+c>b and c+b>a:
        s=0.5*(a+b+c)
        p=a+b+c
        e=math.sqrt(s*(s-a)*(s-b)*(s-c))
        a1=0.5*((b*b+c*c)-a*a)/(b*c)
        b1=0.5*((a*a+c*c)-b*b)/(a*c)
        c1=0.5*((b*b+a*a)-c*c)/(b*a)
        af=math.degrees(math.acos(a1))
        bf=math.degrees(math.acos(b1))
        cf=math.degrees(math.acos(c1))
        print '''line %s : To sxima einai trigwno
        me gwnies a=%.3f deg, b=%.3f deg, c=%.3f deg,
        perimetro:%s m kai emvado:%.6f m^2''' % (x,af,bf,cf,p,e)
        x=x+1
    elif a==0 or b==0 or c==0:
        print 'line %s : Den sximatizetai trigwno me 1 i perissoteres midenikes pleyres' %(x,)
        x=x+1
    elif a+b==c or a+c==b or b+c==a:
        print 'line %s :Sximatizetai trigwno to opoio ekfyllizetai se ey8eia' %(x,)
        x=x+1
    else:
        print 'line %s : Den sximatizetai trigwno' %(x,)
        x=x+1

--- End code ---

vagvaf:

--- Quote from: chiossif on 27 Δεκ 2007, 20:28 ---Γιατί έχω κατά νου να φτιάξω ένα αρχείο με 2Μ τρίγωνα
για να κοντράρω τον pythonά... (εκεί ΣΙΓΟΥΡΑ του ρίχνω)

--- End quote ---

se python


--- Code: ---import random
for i in range(1,2000000):
    print random.uniform(1,1000),' ',random.uniform(1,1000),' ',random.uniform(1,1000)

--- End code ---

perimenw apotelesmata  :D

μετα απο 40 λεπτα και ειμαι στις 500.000 γραμμες..

vagvaf:
Apo ta 1999999 stoixeia 1002373 itan trigwna, 0 itan trigwna ekfylismena se ey8eia kai 997626 den itan trigwna

real    1m16.799s
user    0m38.542s
sys     0m5.536s

vagvaf:
Αποτελέσματα ταχύτητας σε αρχείο 2.000.000 γραμμών:

--- Quote from: C ---real    1m36.734s
user    0m21.165s
sys     0m6.060s

real    1m38.485s
user    0m20.661s
sys     0m6.064s

 
real    1m33.074s
user    0m21.273s
sys     0m5.904s


real    1m30.812s
user    0m20.517s
sys     0m6.012s

 
real    1m32.208s
user    0m21.153s
sys     0m5.960s

--- End quote ---



--- Quote from: Python ---
real    1m26.733s
user    0m41.247s
sys     0m6.316s

real    1m25.005s
user    0m40.147s
sys     0m5.916s

real    1m31.545s
user    0m41.783s
sys     0m6.212s

real    1m30.938s
user    0m42.355s
sys     0m6.480s

--- End quote ---

Πλοήγηση

[0] Λίστα μηνυμάτων

[*] Προηγούμενη σελίδα

Go to full version