בדוגמאות של התרגיל “שלשה פיתגורית” פרט לשינוי ל yield, גם סדר הfor שונה. הראשון רץ a → b → c, והשני c → b - > a? האם גם זה תרם לשינוי במהירות החישובים או שאין לזה משמעות?
טעות תמימה בעריכה
אפשר להחליף את הקוד של הפונקציה (שאינה ג’נרייטור) בזה:
def find_pythagorean_triples(upper_bound=10_000):
pythagorean_triples = []
for c in range(3, upper_bound):
for b in range(2, c):
for a in range(1, b):
if a ** 2 + b **2 == c ** 2:
pythagorean_triples.append((a, b, c))
return pythagorean_triples
for triple in find_pythagorean_triples():
print(triple)
מה המשמעות של הקו תחתי במספר ```
upper_bound=10_000
זו דרך לייצג פסיק כדי שהקוד יהיה קריא יותר
לייק 1