You are on page 1of 4

‫סיכום מפגש שלישי קורס יסודות התכנות ‪ /‬קרן כץ בקרמן‬

‫תנאים ‪ :‬אם ‪ .‬בדיקה‪if .‬‬


‫המשמעות הלוגית של ‪if‬‬
‫תנאי בוליאני הוא תנאי שהתשובה שלו היא "משפט אמת " או "משפט שקר"‬
‫היכולת להכניס לתוך המשתנה ‪ answer‬את התשובה לשאלה‪ :‬האם ‪num‬‬ ‫‪answer = num<0‬‬ ‫חשוב‪:‬‬
‫קטן מ‪.0‬‬
‫אם התנאי מתקיים‪ ,‬כלומר תשובתו היא אמת=‪ True‬אז גוף התנאי יבוצע!‬
‫למשל‪ :‬אם יורד גשם ( וזה אכן קורה) אז נקח מטריה‪ .‬דוגמת האוטובוסים ‪.‬‬
‫אופרטורים בוליאנים גדול‪ ,‬גדול שווה‪ ,‬קטן‪ ,‬קטן שווה‪ ,‬שויון ==‪ ,‬שוני =!‬
‫דוגמת יחידות הלימוד והבונוס שלהן‪ :‬נשים לב להפריד בין שלושת החלקים של קלט‪ ,‬חישוב‬
‫ופלט‪ .‬והוספנו בדוגמא החזקת מספרי קסם‪.‬‬
‫‪ :and /or/ not‬פעולות לוגיות של גם ‪ ,‬או ‪ ,‬ההפך‪ .‬דוגמת הקורונה‪.‬‬
‫בפיתון יש 'טריק' שאפשר לכתוב ‪x‬בין ‪ 1‬ל‪ ,10‬ממש כמו במתמטיקה‪...‬‬
‫‪ else:‬המצב של אם‪ -‬אז 'זה קורה'‪ ,‬ואחרת 'זה קורה'‪.‬‬
‫שויון ספרות במספר דו ספרתי ‪ :‬פגשו את האפשרות לכתוב בתוך תנאי של 'האם המספר דו‬
‫ספרתי' עוד תנאי ו‪.else‬‬
‫‪ elif‬המצב של הרבה אפשרויות אחת אחרי השניה‪ ,‬כאשר רק אחת מהן יכולה לקרות ‪ .‬כמו למשל‬
‫תאריכים של חודשים‪ ,‬שרק אחד מהם יכול להתרחש‪ .‬כלומר או שנהיה בחודש ינואר או שנהיה‬
‫בחודש מרץ‪.‬‬
‫בדוגמא של מציאת מקסימום מבין ארבעה מספרים פגשנו מבחינה לוגית את היכולת לכתוב‬
‫אלגוריתם בדרך יותר אלגנטית ברורה ופשוטה!‬
‫לסיכום‪ :‬עכשיו נותר לקבל בעיה‪ ,‬לחשוב על מהו האלגוריתם‪( ,‬אפשר לכתוב במילים) ואז להפוך‬
‫אותו לקוד! ולא לשכוח לכתוב הערות!!!‬
‫בתרגול‪ :‬תרגיל גיל של בן אדם והשינויים שעברו עליו‪ ...‬דוגמא לשימוש ב‪.not‬‬
‫המשך החזקת תשובות בתוך מחרוזת‪ ,‬וחלוקה בין חישוב לפלט‪.‬‬

‫‪# #if‬‬

‫))"‪num = (int)(input("please enter a number‬‬

‫‪if num < 0:‬‬


‫‪num *=-1‬‬
‫)‪print (num‬‬

‫‪answer = num<0‬‬
‫))‪print(type(answer‬‬
‫)‪print( answer‬‬
#buses proble
SEATS_IN_BUS= 50
people = (int)(input("please enter how many people are going to the trip?"))

buses = (people // SEATS_IN_BUS )


left_people = people % SEATS_IN_BUS
if left_people>0 :
buses =buses +1 # buses+=1
print ("num of buses we need is", buses)
#ex of grades
grade = (int)(input("enter your grade"))
units = (int)(input("enter your num of units"))
if units >=4 : # 4 or 5
grade +=20 # grade =grade+20
if units ==5 : # only 5
grade +=5

# print( "in num of units:",units, "your grade is",grade)


BONUS_5 = 25
BONUS_4 = 20
grade1 = (int)(input("enter your grade"))
units1 = (int)(input("enter your num of units"))
if units1==5: #only 5
grade1 += BONUS_5
elif units1 ==4: #only 4
grade1+= BONUS_4
print( "in num of units:",units1, "your grade is",grade1)
#
# # corona
temp = (float)(input("please enter your body temp"))
cough = (int)(input("do you cough? 1- yes 2-no"))
if temp >=37.1 and cough ==1 :
print("go check for corona")

grade2 =90
if 55<=grade<=100:
print("pass")

#two digits example


num= (int)(input("please enter 2 digit number"))
if 10<=num<=99: #two digits
tens = num //10
units =num % 10
if tens==units :
str = "equal"
else:
str = "not equal"
print("the numbers",tens,"and",units,"are", str)
else:
print("you entered not a 2 digit number")
# an example for if-elif
month =1
if month ==1:
str ="january"
elif month ==2:
str ="feruary"
elif month ==3:
str ="march"
#....and the rest
#grades example from lecture
grade1 =(int)(input("please enter your grade"))
if 1<=grade1<=10:
#check the grades
if grade1 ==10:
words = "excelnet"
elif grade1 == 9:
words ="very good"
elif grade1 ==8 or grade1==7:
words ="good"
elif grade1 ==6:
words = "pass"
else:# 5-1
words ="failed"
print("for", grade1, "is:", words)

else:# when grade is not correct :bigger than 10, smaller than 1
print(" you entered a number not between 1-10")

: if ‫תנאים‬
:‫המשך דוגמאות‬
random.random ‫הגרלה של מספר‬
#

#import random

user_guess = (int)(input(" please enter a number between 1 to 100"))


if not(user_guess>100 or user_guess<1):

# explanation for random


# comp_guess = random.random() # 0.46514002083046324
# print(comp_guess)
# print(comp_guess*100) #46.51400208304632
# print ((int)(comp_guess*100)) #46

:‫לולאות‬
‫המשמעות הלוגית של לולאה‬
.for in range ‫ המילים השמורות‬for ‫התיחסות ללולאה‬
.‫ שהוא עובר בזה אחר זה‬,‫ שמייצר רשימה עם אוסף מספרים ברצף סדרתי‬range ‫המשמעות של‬
.‫המושג של טבלת הרצה 'על יבש' שמראה לנו איך מריצים את הלולאה‬
)‫ יוראה בתרגול‬debugger ( .‫היא חשובה ומראה את המשתנים‬
.)‫עד ( לא כולל‬...‫ עם שני פרמטרים זה – מ‬:‫ עם שלוש אפשרויות‬range
.‫עם פרמטר אחד – אז תחילת הגבול הוא דיפולטיבית אפס‬
.‫ שם‬1- ‫ על ידי‬,‫ אפשרי כלפי מטה‬,‫ אפשרי כלפי מעלה‬-‫ אפשרות של דילוגים‬-‫עם שלושה פרמטרים‬
:‫חשיבה אלגוריתמית‬
,‫ קשורים באופן הדוק להבנה של הבעיה‬,‫ אחד עולה ולצידו אחד יורד‬,‫• איך נדפיס שני טורים‬
.‫ככזו שיש קשר מתמטי בין שני הטורים‬
.'‫ על ידי שימוש ב'תנאי‬,‫• איך נשנה שני מספרים שהתקבלו בסדר הלא נכון‬
.‫עצירת הלולאה‬break-
.‫ שפגשנו קודם‬break‫גם קשור ל‬- for ‫הרחבת הלולאה באמצעות‬
Keren Katz beckerman 27/12/2020
#########
#Loops
for num in range(0,6):
print ("*",end="")
print()
for i in range (-5,6):
print(i,end="")

n= (int)(input("give a range"))
for i in range(0,n+1):
print (i,end=":")
# even numbers
for i in range (0,101): #[0,1,2,3,4,5,.....99,100]
if i%2 ==0:
print(i,end=" ")
print()
for i in range (0,10,2): #[0,2,4,6,8....]
print(i,end=" ")
print()
for i in range (10,-1,-1): #[10,9,8,7,6,5,4,3,2,1,0]
print(i)
# 101---0 going down
for i in range (1,100):
print(i, "\t",101-i)
#
begin = (int) ( input(" please enter first number"))
end = (int) ( input(" please enter second number"))
for i in range (begin, end+1):
print(i, end=" ")

#
begin = (int) ( input(" please enter first number"))
end = (int) ( input(" please enter second number"))
if end<begin:
begin , end = end , begin
for i in range (begin, end+1):
print(i, end=" ")

for i in range (1,10): #[1,2,3,4,5,6,7,8,9]


if i % 3== 0 :
print (i)
break
# example of else after for loop
for i in range( 1,5):#[1,2,3,4]
print(i)
else:
print(" we met all the numbers")

You might also like