8 תשובות
# ex 1
def payment():
total_sum = 0
while true:
school = int(input("enter payments (enter a negative number to exit) --> "))
if school < 0:
break

elif school > 250:
print(f"parent's payment was paid with {school - 250}$ change")

else:
print("you should pay your parent payment soon!")

total_sum += school

print(f"total sum of money collected for today is : {total_sum}")


# ex 2
def student_avg():
while true:
avg = int(input("enter student's avg (enter 999 to exit) --> "))
if avg == 999:
break

elif avg > 85:
print("excelling student!")

elif 65 <= avg <= 85:
print("studies nicely")

else:
print("improve your achievements")


# ex 3
def calculate_height():
count = 0
heights_lis = []
while true:
height = int(input("enter your height in cm (enter a negative number to exit) --> "))
if height < 0:
break

elif height < 165:
count += 1

heights_lis.append(height)

print(f"number of people below 1.65m is {count} and the avg height is {sum(heights_lis) / len(heights_lis)}")


התרגילים ממש בסיסיים אבל זה פשוט לולאת while עם תנאי יציאה ושורות if בהתאם למה שאמרו זה נטו לעשות מה שאומרים לך.
שואל השאלה:
פאק תודה תודה תודה
אנונימית
שואל השאלה:
יש לי עוד משימה אחת אפשר עזרה?
אנונימית
כן בטח
שואל השאלה:
הנכם בעלים של הפיצריה "משולש הזהב".
שעות פתיחת הפיצריה: 08:00-18:00
עליכם לכתוב תכנית המדפיסה את המחירון ושואלת כל אחד מן הלקוחות הבאים כמה משולשים/פיצות הוא רוצה לקנות (מחירון מצורף בסוף).
בסיום התכנית, נדפיס כמה כסף סה"כ שלמו כל האנשים שבתור וכמה מהאנשים בקשו את המבצע "פיצה מקפיצה"...
חשוב ביותר: אין מידע כמה לקוחות יגיעו בכל יום. התכנית תסתיים כשתוקלד המילה: end

מחירון:
1- משולש אחד = 7 ש"ח
2- פיצה שלמה = 50 ש"ח
3- פיצה מקפיצה (פיצה עם 2 תוספות + משקה מוגז) = 60 ש"ח

בהצלחה!!
אנונימית
שואל השאלה:
וואי את מלאך תקשיביי
אנונימית
def get_price_from_menu(item_num, menu_dict):
"""get item price by item number."""
for item_name, price in menu_dict.items():
if item_name.startswith(item_num):
name_itself = item_name.split("- ")[-1]
return price, name_itself

return -1, "not found"


def pizza():
sum_prices = count_fizzling = 0
menu = {
"1- one slice": 7,
"2- whole pizza": 50,
"3- bouncing pizza (with 2 toppings and a fizzling drink)": 60
}

price_list = ""
for item_name, price in menu.items():
price_list += f"{item_name.title()} = {price}\n"

print(f"the menu:\n{price_list}")

while true:
to_buy = input("what do you want to buy from the menu(enter the number of the item, enter end to exit) --> ")
if to_buy == "end":
break

price, name_of_item = get_price_from_menu(to_buy, menu)
if price != -1:
sum_prices += price
if to_buy == '3':
count_fizzling += 1

print(f"you ordered '{name_of_item}' for {price}")

else:
print("invalid item id, please view the menu again and reorder(enter end to exit) --> ")

print(f"sum of all money earned today is : {sum_prices}, and {count_fizzling} "
f"people today bought the fizzling pizza.")


pizza()

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

יכולתי לשמור במילון רק את מספר הפריט נגיד והמחיר ואז היה קל יותר לגשת אליו ולשמור בstring ארוך שורות(""" """)את התפריט, פשוט אני לא כזה אוהבת את השיטה הזאת כי זה hard coded כזה אבל זה היה חוסך את הלקחת מהתפריט בפעולה שיצרתי וחוסך את הלולאה שמדפיסה את התפריט.

אגב תרגישי חופשי תמיד לשאול אותי על פייתון אני מתה על השפה :)
שואל השאלה:
וואי מושלמתת תודהה
אנונימית