תכנות - שיעור 38 31/May/2006    

קומבינטוריקה

פתרנו את תרגיל 3 של שעור קודם
lteq1.png

עוד הארות לתכנות בפייתון

הזכרנו כמה נקודות.

רשימת אותיות לעומת מחרוזת

כאשר רוצים לבחר אות במיקום מסוים מתוך רשימת אותיות קבועה, אפשר לעשות זאת כך:
columns = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
nColumns = len(columns)
myColumn = columns[6]
>>> columns = "abcdefgh"
אבל אפשר להשיג את אותן תוצאות בצורה יותר פשוטה:
columns = "abcdefgh"
nColumns = len(columns)
myColumn = columns[6]

שמוש בערכי אמת ושקר

נניח ש- age הוא מספר נתון. במקום:
teenage = 10 < age < 20
if teenage == True:
    sys.stdout.write("Beware: a teenager - [s]he knows better\n")
עדיף להשתמש ישירות בערך האמת או השקר כך:
teenage = 10 < age < 20
if teenage:
    sys.stdout.write("Beware: a teenager - [s]he knows better\n")

פונקציות עם ערכי מחדל

בפייתון אפשר לתת ערכי מחדל לפרמטרים. הדבר שימושי לשתי מטרות: לדוגמא:
  1. גירסא ראשונה לצפייה או להורדה של פונקציה שמחשבת ומדפיסה שורש רבועי.
  2. גירסא שנייה לצפייה או להורדה שבה מחושב שורש מסדר כלשהו, לאו דוקא מסדר 2 רבועי. אבל ברירת המחדל היא שורש רבועי.
  3. גירסא שלישית לצפייה או להורדה שבה התוצאה מודפסת לקובץ כלשהו כאשר ברירת המחדל היא כפי שהפונקציה התנהגה בגירסאות קודמות.
שימו לב שהשמושים:
application1, application2
אינם משתנים בגירסאות השונות!

תרגילים

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

חזרה לעמוד האם