eyalmerav
להלן שאלת סגנון כתיבת קוד או כיצד עדיף לכתוב:
מבוא: בשפת c קיימת מלה שמורה לסוף קובץ
ככה שאפשר לעשות: כל עוד לא סוף קובץ תעשה משהו עם מה שיש שם…
עד כמה שידוע לי בפייתון זה לא קיים ולכן אם רוצים לקרוא שורה שורה מקובץ ושהתוכנה לא תצעק צריך:
- לספור את השורות בקובץ ואז לרוץ בלולאה עד למספר השורות
- עם הכלים שלמדנו במחברת זו ניתן לעשות: כל עוד נכון נסה לקרוא שורה מקובץ אחרת צא מלולאה
מה עדיף?
אולי יש שיטה עדיפה שלא ציינתי פה.
- יש גם כמובן את האפשרות של גנרייטור שיניב כל פעם שורה בקובץ אבל גם זה אני לא סגור עד הסוף איך הוא יודע “לעצור בזמן” מבלי לצעוק בסוף.
תודה
איל
בסופו של דבר אני מעוניין במשהוא כמו כל עוד לא סוף קובץ… תעשה…
Yam
יחי גוגל
2 לייקים
devorack
שאלה לגבי break:
(מתוך הדוגמאות שם)
with open(filename, 'rb') as f:
while True:
buf = f.read(max_size)
if not buf:
break
process(buf)
האם עדיף:
with open(filename, 'rb') as f:
buf = True
while buf:
buf = f.read(max_size)
if buf:
process(buf)
כשהשורה האחרונה עלולה לא להתקיים רק פעם אחת בכל מקרה, כך שכתלות במקרה אולי לא חייבים גם את זה?
אם עדיף הצורה עם break, למה היא עדיפה?
Yam
לטעמי כן. בפייתון 3.8 אפשר גם:
with open(filename, 'rb') as f:
while buf := f.read(max_size):
process(buf)
2 לייקים
eyalmerav
תודה!!

efratush
מותר לנו כבר להשתמש בbreak?
Yam
לא, אני לא ארצה שתשתמשו ב־break עד סוף הקורס.
אח"כ תעשו מה שאתם רוצים 
3 לייקים