Leveraging Simple Dictionaries - מצב התחלתי ומקבל

תודה (: אכן פיספסתי…

לייק 1

בעיקרון אני מניח שהתבנית שהם נתנו לנו היא נכונה תמיד. זאת אומרת, שלמשל השורה Transitions: תמיד תהיה בשורה מספר 5. האם נכון לעשות ככה?

להרחבה בנושא:

בכל מקרה אוטומט סופי דטרמיניסטי חייב להתחיל ממצב אחד, ויכול להיות כמה מצבים מקבלים (תוצאות מתקבלות)

אפשר להניח שהקובץ ייראה בדיוק במבנה הזה (ולא נגיד " :States" במקום “:States”)?

בבעייה Leveraging Simple Dictionaries בדוגמה של הקלט השלישי נרשם: False. לא ברור לי מתי רושמים False ומתי רושמים True. אם ההחלטה היא לפי המצב הסופי אז יש פה שגיאה כי סיימנו במצב “מקבל” ולמרות זאת התשובה היא False

לייק 1

ים אפשר עזרה ? :pray:

פתח אשכול עם השאלה וינסו לעזור

זו שאלה נקודתית ביחס לקוד, אצטרך לחשוף קוד…

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

אני יוצר לולאת while שקוראת את הקובץ שורה שורה, ומוסיפה ערכים למילון בהתאם לשורה. תנאי העצירה של הלולאה הוא שהיא תיעצר ברגע שהיא מגיעה לשורה של “n\”. משום מה זה מוסיף למילון ערך של מחרוזת ריקה, ואני לא מבין למה.

יש סיכוי שיש שורה ריקה בסוף הקובץ או משהו. מקסימום תמחק אותה ידנית, זה לא אמור להטריד

היא נמצאת באמצע הקובץ, זה ממש מוזר

למה מוזר? הגיוני מאוד. עקוב אחרי הקוד ב־pythontutor

לייק 1

זו היתה טעות שלי, בסוף שיניתי את הקוד והוא פועל מצוין.
בכל מקרה, רציתי לומר שזה בפער התרגיל הכי כיף שעשיתי עד עכשיו. תודה רבה לך ולכל הצוות !! :smile:

לייק 1

שתי שאלות:

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

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

תודה

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

לא מצאתי בפורום:
אשמח להשוות את התשובה של הדוגמא (השנייה) של התרגיל כביקורת כדי שאדע שהקוד שלי עובד על כל תרחיש.

קח דוגמה לאוטומט שאולי יותר יאתגר לך את הקוד:

Definitions:
States: q0, q1, q2
Start: q0
Accepting: q0

Transitions:
q0: 0, 3, 6, 9 -> q0
q0: 2, 5, 8 -> q1
q0: 1, 4, 7 -> q2
q1: 1, 4, 7 -> q0
q1: 0, 3, 6, 9 -> q1
q1: 2, 5, 8 -> q2
q2: 2, 5, 8 -> q0
q2: 1, 4, 7 -> q1
q2: 0, 3, 6, 9 -> q2

Inputs:
1
1, 2
1, 2, 3
1, 3, 5
1, 3, 8
1, 2, 4, 1
9, 9, 9, 9, 9, 9
9, 9, 9, 9, 9, 1

התשובות:

False
True
True
True
True
False
True
False
6 לייקים