תכנות - שיעור 8 8/March/2006    

מינימום בין 4 מספרים

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

פעולות אחוז

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

חישוב שארית

בחילוק של מספרים שלמים, מתקבלת מנה ושארית. לדוגמא, אם מחלקים את המספר 20 במספר 6

lteq1.png
מתקבלת המנה 3 עם שארית 2.

בפעילות Python האינטראקטיבית שלפנינו נראה דוגמאות:

 
yotam@durini:l8:181 python
Python 2.4.2 (#2, Sep 30 2005, 21:19:01) 
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 20 / 6
3
>>> 20 % 6
2
>>> 11/5
2
>>> 11 % 5
1
>>> 10 / 5
2
>>> 10 % 5
0
>>> 9 / 5
1
>>> 9 % 5
4
>>> 6 / 5
1
>>> 6 % 5
1
>>> 5 / 5
1
>>> 5 % 5
0
>>> 4 / 5
0
>>> 4 % 5
4
>>> 1 / 0
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ZeroDivisionError: integer division or modulo by zero
>>> 1 % 0
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ZeroDivisionError: integer division or modulo by zero

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

החלפה בתוך מחרוזת

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

 
yotam@durini:l8:186 python
Python 2.4.2 (#2, Sep 30 2005, 21:19:01) 
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> "Number %d is nice" % 6
'Number 6 is nice'
>>> "I know that %d is bigger than %d - right?" % (13, 7)
'I know that 13 is bigger than 7 - right?'
>>> "But %d is less than %d - Wow!" % (-999, 2)
'But -999 is less than 2 - Wow!'

תרגילים

  1. כתבו תכנית, min5.py דומה למה שעשינו עד כה שמוצאת את המינימום בין חמישה מספרים.
  2. הפעילו את python בצורה אינטראקטיבית, ובצעו פעולות כמו בדוגמאות למעלה, אבל עם מספרים אחרים. בעזרת "העתק והדבק" (cut & paste) שלחו את תוכן הפעילות.

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