diff --git a/Lists-p-B.ipynb b/Lists-p-B.ipynb new file mode 100644 index 0000000..604f081 --- /dev/null +++ b/Lists-p-B.ipynb @@ -0,0 +1,170 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#  דף עבודה רשימות - חלק ב\n", + "## שאלה 4\n", + "יש לכתוב קטע תכנית הקולטת 8 שמות של תלמידים ומוסיפה אותם לרשימת תלמידי הכיתה.\n", + "1. יש לקלוט שם של תלמיד חדש הרוצה להצטרף לכיתה\n", + "2. יש לבדוק אם שם זה כבר מופיע בכיתה.\n", + "3. במידה ושם זה לא קיים יש להוסיף שם זה לכיתה.\n", + "4. במידה וכבר קיים תלמיד עם שם זהה יש להדפיס הודעה \"לא נוכל לשבצך בכיתה זו\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "studentList = [str(input('Enter a student name: ')) for i in range(3)]\n", + "print(\"You can't be assigned to this class\") if (newStudent := studentList.count(str(input(\"Enter the new student's name: \")))) else studentList.append(newStudent)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## שאלה 5\n", + "אודיה הלכה לקנות בגדים לקראת שנת הלימודים.\n", + "רכשה 5 פריטים חדשים.\n", + "יש לכתוב קטע קוד הקולט את מחירו של כל פריט ומוסיפו לרשימה ומחשב את הסכום ששילמה אודיה לחנות.\n", + "1. כתבו במעבר לפי אינדקס\n", + "2. כתבו במעבר לפי ערך" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(sum([int(input('Enter a price: ')) for i in range(5)]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## שאלה 6\n", + "יש לכתוב קטע תכנית הקולט 8 ציונים של תלמיד ומכניסם לרשימה. על קטע הקוד לחשב ולהדפיס:\n", + "1. ממוצע ציונים\n", + "2. רשימת הציונים בהם הציונים הם מעל הממוצע\n", + "3. רשימת הציונים בהם הציון קטן או שווה ל-60\n", + "4. אם ממוצע הציונים מעל 90 יש להדפיס את ההודעה \"הצטיינות יתרה\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "gradeList = [int(input(\"Write a number grade: \")) for i in range(8)]\n", + "avg = sum(gradeList)/8\n", + "print(f'Avg: {avg}\\n' +\n", + " f'Grades above: {[grade for grade in gradeList if grade > avg]}\\n' +\n", + " f'60 and below: {[grade for grade in gradeList if grade <= 60]}\\n')\n", + "print(\"Very Good\" if avg > 90 else \"\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## שאלה 7\n", + "אתמול נערכה חגיגת בר המצווה של דוד. לחגיגה הגיעו 10 חברים וחברות. דוד בנה קוד ובו רשימות הסכומי הכספים שקיבל כמתנה.\n", + "יש לכתוב קוד הקולט את סכומי הכספים שקיבל דוד. את סכומי הכספים יש להציב ברשימה בשם presents. על קטע הקוד לחשב ולהדפיס:\n", + "1. סה\"כ סכום כל המתנות שהתקבל\n", + "2. סכום מתנה ממוצע\n", + "3. כמה סכומי מתנות קיבל מעל סכום המתנה הממוצעת" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "presents = [int(input('Enter a the amount of money: ')) for i in range(10)]\n", + "avg = sum(presents)/10\n", + "print(f'Total money: {sum(presents)}\\n' + \n", + " f'Average: {avg}\\n' + \n", + " f'{len([present for present in presents if present > avg])}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## שאלה 8\n", + "שמות תלמידי כיתה ט' הוכנסו לרשימה. לכל תלמיד/ה הוכנס שם פרטי ולאחר מכן שם המשפחה.\n", + "יש לכתוב קטע תכנית הקולט 10 שמות (שם פרטי ושם משפחה). על קטע הקוד לחשב ולהדפיס:\n", + "1. מספר השמות בהם מופיע רצף התווים \"אל\" כגון אלינור, אליהו, תאל, ישראל.\n", + "2. מספר השמות (שם פרטי ושם משפחה) שאורכם מעל 7 תווים (שימו לב כי בין שם פרטי לשם משפחה מופיע תו ריק).\n", + "3. כמה השמות הפרטיים ושמות המשפחה המתחילים באותה אות, לדוגמה: דנה דבוש, כרמי כהן." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "nameArray = [str(input(\"Enter a first name and a last name seperated by a space: \")).split(' ') for i in range(3)]\n", + "print(sum([bool(sum([word.lower().count(\"el\") for word in name])) for name in nameArray]))\n", + "print(len([name for name in nameArray if len(name[0])+len(name[1]) > 7]))\n", + "print(len([name for name in nameArray if name[0][0] == name[1][0]]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## שאלה 9\n", + "בתפריט מסעדה, בצד שם המנה מוצג מחירו. יש לכתוב קטע תכנית הקולט ל-10 המנות במסעדה את שם המנה ואת מחירה.\n", + "את שמות המנות ומחירם יש להכניס לרשימה בשם menu. על קטע הקוד לחשב ולהדפיס:\n", + "1. מחיר ושם המנה היקר ביותר\n", + "2. את המחיר ממוצע של מנה במסעדה\n", + "3. רשימת שמות המנות שמחירם מעל המחיר הממוצע." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "menu = [str(input(\"Enter a name and a price: \")).split(' ') for i in range(10)]\n", + "menu.sort(key = lambda item : item[1])\n", + "avg = sum([int(item[1]) for item in menu])/10\n", + "print(f'Most expensive meal: {menu[9]}\\n' +\n", + " f'Average price: {avg}\\n'+ \n", + " f'Meals pricier than average{[item for item in menu if int(item[1]) > avg]}')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}