Συζητήσεις > python
Άσκηση: Τρίγωνα;
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