מפענח הצפנים מחברת 3

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

לייק 1

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

1.האם המשתמש הזין את הקוד 4812 במדויק?
2. אם לא הזין במדויק, כמה ספרות נכונות יש לו (ללא קשר למיקום, כלומר אם הזין 3331 אז יש לו ספרה אחת נכונה, הספרה “1”.

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

2 לייקים

היי , קודם כל תודה על המענה :slight_smile:
הבנתי את החלוקה הזאת אבל למעשה אני הלכתי על כיוון חשיבה שבו צריך לבדוק את כל הצירופים ,נניח אם הקוד מכיל 1 ו 2 או 2 וגם 4 או 2 וגם 8 … וכו וכו וכו
הדבר גם יוצא מסורבל וגם לא מחזיר לי תשובות נכונות ולכן הבנתי שכל דרך החשיבה שלי בכלל לא נכונה ודי נתקעתי …

לייק 1

תבני פונקציה שיש בה משתנה שמשמש כcounter שערכו ההתחלתי הוא 0
אם יש במספר 8 הקאונטר מקבל +1
אם יש במספר 4 הקאונטר מקבל +1
וכן הלאה.
בסוף הפונקציה מחזירה את הקאונטר.
בהצלחה.

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

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

לייק 1

לי עזרת ממש להבין ולהצליח. מלא תודה!
נשארה לי רק בעיה אחת: איך אני מפעילה אזעקה אחרי 3 נסיונות? איך אומרים לפייתון לבצע פעולה אחרי 3 פעמים שהמשתמש לא הצליח?

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

מה קורה אם הזנתי פעמיים 8? האם יכתוב שיש לי 2 ספרות נכונות? למשל: 8855

לא, כי הספרה 8 מופיעה רק פעם אחת בקוד הנכון. לכן במקרה של 8855 הפונקציה אמורה להחזיר “יש לך ספרה אחת נכונה”

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

לייק 1