שאלה על הדוגמא 'ראשי תיבות' במחברת 1

א.
בשורה הזו
for word in sentence.split():
בעצם בכל איטרציה מחדש הקוד עושה split למשפט, לא?
אין עדיפות לעשות את זה קודם בשורה נפרדת? משהו כמו:
words = sentence.split()
for word in words:
ב.
למה צריך את התנאי של if len(word) >= 1?
איזו עוד אופציה יש?

זה תלוי אם המשפט משתנה במהלך האיטרציה, בעצם הוא כל פעם מפצל אותה, השאלה היא - אם זה ישנה…

לייק 1

א. כתוב גדול שווה, אז זה כולל גם אותיות.
ב. גם אם היית צודק - אפשר להכניס גם אות לראשי תיבות.
בקיצור - לא השתכנעתי.

אני מבקש שוב – בבקשה לא לתייג אותי. אני רואה ועובר על כל ההודעות בפורום, מבטיח. התיוג שלך זה סתם מקפיץ לי חלון.
הפיצ’ר הזה שמור לאנשים שצריכים משהו דחוף, זה לא אחד המקרים.

אני מתנצלת, סליחה. לא ידעתי שזה מקפיץ לך

היי @Rach (את לא תייגת, הכל בסדר :slight_smile: )

בגדול באמת אין צורך בתנאי.
split כן יכולה לייצר איברים ריקים במקרים אחרים, לדוגמה במקרה הזה:

>>> '1,2,3'.split(',')
['1', '2', '3']

אבל במקרה שבמחברת באמת אין סיבה לבדוק האם האורך הוא לפחות 1.


בנוגע לשאלה הראשונה – פייתון “מעבד” את מה שכתוב אחרי המילה in רק פעם אחת, אז זה בסדר במקרה הזה.

אמממ, במקרה שהראית הוא דווקא לא יצר איברים ריקים…

אופסי :smiley:

>>> '1,2,,3'.split(',')
['1', '2', '', '3']
לייק 1

מעריכה שזה באמת יכול להיות בעייתי, מצד שני לרוב המשתמשים אין דרך לדעת מראש, ולדעתי תיוג של משתמשים מן השורה אינו בעייתי. אולי שווה לייצר תיוג נוסף ( urgent , @ yam1 @ superuser @ …)

סתם הצעה