בעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!
-
כבסיס כתבתי את זה -->>> def main(): ... products = input("הזן רשימת מוצרים לקניות, מופרדת בפסיקים ללא רווחים: ") ... action = int(input("הזן מספר פעולה: ")) ... if action == 1: ... for aaa in products: ... print (products) ... if action == 2: ... print(len(products)) ... if action == 3: ... the_product = input ("הכנס מוצר לבדיקה: ") ... the_product in products ... if action ==4: ... Product_testing = input ("הכנס מוצר לבדיקה: ") ... products.count(Product_testing) ... if action ==5: ... Product_deletion = input ("הכנס מוצר למחיקה: ") ... products.remove(Product_deletion) ... if action ==6: ... Adding_a_product = input ("הוסף מוצר: ") ... products.append(Adding_a_product) ... if action ==7: ... for Not_normal in products: ... if len(Not_normal) < 3 or not product.isalpha(): ... print (Not_normal)
א. אשמח לשמוע הערות על הקטע הנ"ל
ב. איך מגדירים שלא יצאו מהפונקצייה עד שיקישו יציאה?? -
-
@פלדה כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
ב. איך מגדירים שלא יצאו מהפונקצייה עד שיקישו יציאה??
תכניס את כל הבדיקות ללולאה כזו:
while action != 9: if action וכו'......
על פניו זה נראה יפה מאוד (לא עברתי על הכל בדקדוק...) בפקודה print האחרונה יש רווח מיותר. וגם אחרי ה input וגם בעוד print אחד...
בפקודה מספר 1 אתה מדפיס את כל רשימת המוצרים בכל פעם, שנה את print (products) ל print (aaa)
כמו כן פקודה מספר 2 - צריך להדפיס את מספר המוצרים, אם אתה משתמש ב len אתה תקבל רשימה של תווים בכל המוצרים גם יחד...
באפשרויות 3 ו 4 תכניס את ההדפסה לפונקציה print, אחרת זה לא יודפס בריצה רגילה.
אפשרות 6 - הפונקציה append לא רלוונטית היות ולא מדובר ברשימה אלא במחרוזת. השתמש בproducts += adding_a_product
אני הייתי מוסיף אחרי כל פעולה הדפסה של כל האפשרויות, אחרת איך המשתמש יידע מה להקיש?
-
@איסתרק-השלישי כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
על פניו זה נראה יפה מאוד (לא עברתי על הכל בדקדוק...) בפקודה print האחרונה יש רווח מיותר. וגם אחרי ה input וגם בעוד print אחד...
זה לא תוקע את התוכנית, נכון? זה רק קונבנציות כתיבה
@איסתרק-השלישי כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
כמו כן פקודה מספר 2 - צריך להדפיס את מספר המוצרים, אם אתה משתמש ב len אתה תקבל רשימה של תווים בכל המוצרים גם יחד...
איזו פקודה?
@איסתרק-השלישי כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
באפשרויות 3 ו 4 תכניס את ההדפסה לפונקציה print, אחרת זה לא יודפס בריצה רגילה.
צודק, שכחתי
@איסתרק-השלישי כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
אפשרות 6 - הפונקציה append לא רלוונטית היות ולא מדובר ברשימה אלא במחרוזת. השתמש ב
בטוח? לא ידעתי
@איסתרק-השלישי כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
אני הייתי מוסיף אחרי כל פעולה הדפסה של כל האפשרויות, אחרת איך המשתמש יידע מה להקיש?
עקרונית אתה ודאי צודק
אבל זה לא שאני הולך לעשות משהו עם התוכנית הזו, זה רק פתרון תרגיל, אז אני נצמד במדוייק להוראות..@איסתרק-השלישי כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
בפקודה מספר 1 אתה מדפיס את כל רשימת המוצרים בכל פעם, שנה את print (products) ל print (aaa)
נכון
-
@פלדה כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
על פניו זה נראה יפה מאוד (לא עברתי על הכל בדקדוק...) בפקודה print האחרונה יש רווח מיותר. וגם אחרי ה input וגם בעוד print אחד...
זה לא תוקע את התוכנית, נכון? זה רק קונבנציות כתיבה
וואו, את זה לא ידעתי... אתה באמת צודק.
-
@פלדה כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
כמו כן פקודה מספר 2 - צריך להדפיס את מספר המוצרים, אם אתה משתמש ב len אתה תקבל רשימה של תווים בכל המוצרים גם יחד...
איזו פקודה?
למדת כבר על split? אם כן אז תעשה את זה כך:
print(len(list(products.split(","))))
בכלל ברגע שתהפוך את הקלט לרשימה יהיה לך הרבה יותר קל... אני רק לא יודע איפה אתה אוחז מבחינת הלימוד -
@איסתרק-השלישי כתב בבעיה | עזרה בכתיבת תוכנית- אשמח לעזרה!!:
בכלל ברגע שתהפוך את הקלט לרשימה יהיה לך הרבה יותר קל... אני רק לא יודע איפה אתה אוחז מבחינת הלימוד
זה אחת הפשלות, שכחתי בהתחלה להגדיר שהכל יהיה רשימה
זה אמור להיות רשימה!!
אני בהחלט יודע להשתמש ברשימות