תכנות - שיעור 31 26/February/2006    

בסיס -- Exclusive Or

הצגנו את פעולת ה- eXclusive OR. בהנתן שני מספרים lteq1.png , lteq2.png הפעולה m^n ב-Python מוגדרת כך:

לדוגמא

lteq3.png

בסיס 16

בפייתון יש תמיכה ישירה בבסיס 16. ניתן להגדיר מספר בבסיס 16 על ידי הקדמה של 0x לספרות. למשל

m = 0x9   # same as:  m = 9
n = 0xa   # same as:  n = 10
o = 0xf   # same as:  o = 15
p = 0x10  # same as:  p = 16
q = 0x101 # same as:  q = 257

כמו כן, בפעולת ה"פורמט", בנוסף להצגת מחרוזת ("%s"), הצגה עשרונית ("%d"), והצגה של מספר float "ממשי" ("%f"), קימת ההצגת HEXadecimal על-ידי "%x" או "%X".

דוגמאות


תרגילים

פתרונות לתרגילים קודמים

תוכלו לראות או להוריד פתרון לתרגיל שניתן בשעור קודם .

חדשים:

  1. על ידי חפוש וקריאה בתעוד של הפקודות head, tail למדו והסבירו כיצד אפשר להדפיס שתי שורות ראשונות או שתי שורות אחרונות של קובץ.
  2. השלימו (מי שלא סיים) את תרגיל 4 מהשיעור הקודם.
  3. ראשוניים תאומים . על ידי שימוש באלגוריתם של ארטוסתנס, כתבו תכנית שמקבלת חסם M כפרמטר, ומדפיסה את כל זוגות המספרים הראשוניים lteq4.png כך ש-
    lteq5.png
  4. כתבו תכנית divsfact.py שמקבלת מספר, מציגה אותו ואת כל מחלקיו כמכפלת ראשוניים. לדוגמא:
    yotam@durini:l32:593> ./divsfact.py 10
    N        =       10 = 2^1 * 5^1
    Divisors:
     d[ 1]   =        1 = 
     d[ 2]   =        2 = 2^1
     d[ 3]   =        5 = 5^1
     d[ 4]   =       10 = 2^1 * 5^1
    10 has 4 divisors
    yotam@durini:l32:594> ./divsfact.py 60
    N        =       60 = 2^2 * 3^1 * 5^1
    Divisors:
     d[ 1]   =        1 = 
     d[ 2]   =        2 = 2^1
     d[ 3]   =        3 = 3^1
     d[ 4]   =        4 = 2^2
     d[ 5]   =        5 = 5^1
     d[ 6]   =        6 = 2^1 * 3^1
     d[ 7]   =       10 = 2^1 * 5^1
     d[ 8]   =       12 = 2^2 * 3^1
     d[ 9]   =       15 = 3^1 * 5^1
     d[10]   =       20 = 2^2 * 5^1
     d[11]   =       30 = 2^1 * 3^1 * 5^1
     d[12]   =       60 = 2^2 * 3^1 * 5^1
    60 has 12 divisors
    
    נסו למצא חוקיות.

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