תרגול נוסף (נוסף): שבוע 3

תגיות:

אתה יכול להפנות אותי לאיפה? כי אני רק רואה שהנתון זה שיש עמודה בשם id לא שהיא בהכרח הראשונה בקבצים, אני רוצה לוודא שאני לא צריכה לבדוק את זה בקוד

אני מבין את זה מאיך שמנוסחת השאלה:

  1. ידוע שבכל אחד מהקבצים יש עמודה של id
  2. בדוגמאות הנתונות השורה של id תמיד בהתחלה ולכן אפשר להסיק שזה המצב בו מקבלים את הקבצים (מה שהגיוני גם במציאות)

אם בקובץ הראשון קיימות העמודות id, name ו־address ובקובץ השני קיימות העמודות id, phone ו־mail, הקובץ השלישי יופיעו העמודות id, name, address, phone ו־mail.

אפשר לראות שהדוגמאות בסעיף הזה כתובות כ id עוד משהו ועוד משהו… גם בשאר למשל id אייפון ו אימייל
או id שם, כתובת טלפון ו אימייל. (בקריאה כמובן מאנגלית לעברית)

אני דווקא לא לקחתי בחשבון שזו הראשונה, אלא בדקתי באיזה אינדקס היא נמצא, ולפי זה עבדתי

בגדול זה לא משנה יותר מדי את הקוד אבל לדעתי זה לגמרי הגיוני.
שעובדים עם קבצים אתה לא עובד איתם בלי לפתוח ולראות מה התוכן שלהם.
במקרה הזה הקבצים בדוגמא מסודרים באופן מובהק כשid הוא בהתחלה

אני לא חושב שמשנה לסגל מאיזה נקודה מגיעים לזה רק העיקר שזה ימלא את דרישות התרגיל
:heart:

אפשר לקבל קצת הכוונה על התרגיל של הפוקר?
זה באמת ברמת קושי גבוהה וקשה לי להבין מאיפה להתחיל.
לכתוב 10 פונקציות שבודקות את היד?
או לדרג במספר כל יד?

למדתי שאי אפשר להניח כלום בלי לוודא עם הסגל ולכן אשמח להבהרה @Yam .

אבל תודה @aviadamar :slight_smile:

לייק 1

בגדול עדיף שלא, and yet לא נפסול את התרגיל על זה (לדעתי האישית זה מימוש פחות טוב, אבל שם זה נגמר)

מימוש פחות טוב להניח שid הוא בהתחלה הכוונה ?

באופן כללי מימוש פחות טוב הוא מימוש שעושה הנחות :slight_smile:
(אלא אם אנחנו צריכים לעשות משהו ביעילות מסוימת, ואז עדיף לבדוק מה הן ההנחות שמהן אנחנו יוצאים)

אני אלמד מזה לקח להבא :slight_smile:

תרגיל בשם “5 נפוצות” בתרגילים הנוספים זה אליס בארץ הפלאות? אם לא אשמח להבין למה כן הכוונה.

כן אבל הOCD שלי… הוספתי התייחסות :grimacing:

והOCD שלי גרם לי לעשות את התרגיל שוב עם התייחס ל ID בכל מיקום אפשרי.
על הדרך ניסיתי ליעל את הקוד.

בנוגע לחלק השני אני לא בטוח שזה הצליח לי :slight_smile:

אשמח לדעת איך לייעל את זה. התנאים בסוף נראים לי לא יעילים אבל לא הצלחתי בדרך אחרת

פולינדרום

“”"
def polindrom(str1):
string_copy = str1
if len(string_copy) >= 2:
if string_copy[0] == string_copy[-1]:
test = polindrom(string_copy[1:-1])
else:
return False
else:
return True

if test:
return True
else:
return False
“”"

לגבי תרגיל ה-CSV, האם מותר לשנות את סדר הכותרות בתוצאה? או שאם ה-id ממוקם שני, הוא חייב להישאר שני? כמובן שאם אני משנה את סדר הכותרות, אני משנה את סדר העמודות בהתאם.

שאלה כללית על קריאת קבצים:

with open(‘resources/toffy_is_the_king.txt’, ‘r’) as popular_words:
popular_words_text = popular_words.read()
popular_words_list = popular_words.readlines()

print(popular_words_text )
print(popular_words_list)

ברגע שאני מנסה לעשות על אותו file handler - גם את הפעולה read וגם readlines- פייתון לוקח בחשבון רק את הפעולה הראשונה שנכתבה מתחת לwith open. במקרה הזה הוא הדפיס לי רק את הstring שמאוחסן במשתנה הראשון שהגדרתי מתחת לפעולת הopen :י popular_words_text.
האם יש דרך שתגרום לו להתייחס לשניהם? זאת בעיה מוכרת או שהיא קרתה רק לי?
תודה לעוזרים! עצמאות שמח!

האם את מזיחה נכון את כל השורות שאת רוצה שיהיו תחת ה-with?

מצלמת לך דוגמה מתוך המחברת - על אותו file handler מפעילים גם את read וגם את readlines:

יש נקודותיים בסוף השורה של הwith והכל מוזח כמו שצריך עם tab אחד בדיוק

אני חושדת שזה קשור לסדר שבו את עושה את הפעולות

לדעתי את צריכה להחזיר לו את הסמן אחורה. לא יודע אם זה קשור לזה או בכלל אפשרי אבל שווה לנסות.