Skip to content

Commit a9a878f

Browse files
author
Itamar.Raviv
committed
summary draft
1 parent 1871d5c commit a9a878f

1 file changed

Lines changed: 254 additions & 0 deletions

File tree

‎week2/4_Summary.ipynb‎

Lines changed: 254 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"בנק - בתרגיל הזה נכתוב מערכת קצת יותר חכמה לבנק. נבנה אותה בשלבים\n",
8+
"\n",
9+
"בשלב הראשון נבנה מחולל סיסמאות עבור משתמש. מחולל סיסמאות היא פונקציה שמקבלת שם משתמש ומחזירה סיסמה\n",
10+
"הסיסמה תורכב כך: שם המשתמש במהופך מחובר אליו \"X\" כאורך השם"
11+
]
12+
},
13+
{
14+
"cell_type": "code",
15+
"execution_count": 14,
16+
"metadata": {},
17+
"outputs": [],
18+
"source": [
19+
"#password_generator(\"stam\") --> \"matsXXXX\""
20+
]
21+
},
22+
{
23+
"cell_type": "markdown",
24+
"metadata": {},
25+
"source": [
26+
"בדקו את מחולל הסיסמאות שלכם עם 4 סיסמאות באורכים משתנים"
27+
]
28+
},
29+
{
30+
"cell_type": "markdown",
31+
"metadata": {},
32+
"source": [
33+
" קלטו מהמשתמש שם משתמש וסיסמה, חשבו את הסיסמה עם הפונקציה שכתבתם והדפיסו ברוך הבא אם הסיסמא נכונה, אחרת הדפיסו סיסמא לא נכונה\n"
34+
]
35+
},
36+
{
37+
"cell_type": "code",
38+
"execution_count": null,
39+
"metadata": {},
40+
"outputs": [],
41+
"source": []
42+
},
43+
{
44+
"cell_type": "markdown",
45+
"metadata": {},
46+
"source": [
47+
"כתבו פונקציה שמחזירה\n",
48+
"True\n",
49+
"אם בוצע חיבור מוצלח, אחרת החזירו False\n",
50+
"\n",
51+
"הפונקציה מקבלת שם משתמש וסיסמה. בודקת את נכונות הסיסמה ומחזירה \n",
52+
"True\n",
53+
"אם היא נכונה ו\n",
54+
"False\n",
55+
"אחרת\n",
56+
"\n",
57+
" כעת כתבו את השאלה הקודמת באמצעות הפונקציה שכתבתם בסעיף זה"
58+
]
59+
},
60+
{
61+
"cell_type": "code",
62+
"execution_count": null,
63+
"metadata": {},
64+
"outputs": [],
65+
"source": []
66+
},
67+
{
68+
"cell_type": "markdown",
69+
"metadata": {},
70+
"source": [
71+
"לכל משתמש יש בבנק 500 שח. \n",
72+
"כעת נרצה שהתוכנה שלנו תאפשר למשתמש למשוך כסף.\n",
73+
"\n",
74+
"נשתמש בפונקציות הקודמות שכתבנו:\n",
75+
"\n",
76+
"נקלוט מהמשתמש שם משתמש וסיסמא\n",
77+
"אם ההתחברות הצליחה\n",
78+
"נשאל אותו איזה סכום ירצה למשוך\n",
79+
"\n",
80+
"אם הסכום גדול מ-500:\n",
81+
"נדפיס \"אין לך מספיק כסף\"\n",
82+
"\n",
83+
"אם הסכום הוא 0 נדפיס \"לא ניתן למשוך 0 שח\"\n",
84+
"\n",
85+
"אם הסכום שלילי נכתוב \"לא ניתן למשוך סכום שלילי\"\n",
86+
"\n",
87+
"אם הסכום תקין, נדפיס: \n",
88+
"הנה הסכום שביקשת: X\n",
89+
"נשאר בחשבון: \n",
90+
"500-X\n",
91+
"\n",
92+
"\n",
93+
"\n",
94+
"\n"
95+
]
96+
},
97+
{
98+
"cell_type": "markdown",
99+
"metadata": {},
100+
"source": [
101+
"ציירו תחילה על דף תרשים זרימה של איך הולך להיראות הקוד - תרשים מעויינים ללא קוד.\n",
102+
"זה יעזור במימוש"
103+
]
104+
},
105+
{
106+
"cell_type": "code",
107+
"execution_count": null,
108+
"metadata": {},
109+
"outputs": [],
110+
"source": []
111+
},
112+
{
113+
"cell_type": "markdown",
114+
"metadata": {},
115+
"source": [
116+
"ממיר זמן:\n",
117+
"נכתוב פונקציה שמקבלת את השעה בשני ארגומנטים (שעה,דקות) ואיזור זמן מבין:\n",
118+
"תל אביב- TLV\n",
119+
"לונדון - LONDON\n",
120+
"ניו יורק ארה\"ב - NY\n",
121+
"טוקיו - TOKYO\n",
122+
"\n",
123+
"אם נקבל תל אביב, נדפיס את השעה בתוספת 3 שעות (זכרו ששעון הוא מעגלי, כלומר אם השעה 23 ונבקש את השעה בישראל נחזיר 2)\n",
124+
"\n",
125+
"אם נקבל ניו יורק נחזיר את השעה פחות 4\n",
126+
"\n",
127+
"אם נקבל טוקיו נחזיר את השעה ועוד 9 \n",
128+
"\n",
129+
"בכל מקרה אחרת נחזיר את השעה כמו שקיבלנו אותה\n"
130+
]
131+
},
132+
{
133+
"cell_type": "code",
134+
"execution_count": null,
135+
"metadata": {},
136+
"outputs": [],
137+
"source": []
138+
},
139+
{
140+
"cell_type": "markdown",
141+
"metadata": {},
142+
"source": [
143+
"כתבו פונקציה שמקבלת 2 רשימות שונות \n",
144+
"מדפיסה\n",
145+
"\"same length\"\n",
146+
"אם הן באותו אורך.\n",
147+
"ואחרת\n",
148+
"\"not same length\"\n",
149+
"\n",
150+
"אם קיבלנו רשימה באורך 0 - תודפס\n",
151+
"\"got empty list\"\n",
152+
"\n",
153+
"אם קיבלנו 2 רשימות ריקות אז נדפיס\n",
154+
"\"got empty list\"\n",
155+
"\"got empty list\"\n",
156+
"\"same length\""
157+
]
158+
},
159+
{
160+
"cell_type": "code",
161+
"execution_count": null,
162+
"metadata": {},
163+
"outputs": [],
164+
"source": []
165+
},
166+
{
167+
"cell_type": "markdown",
168+
"metadata": {},
169+
"source": [
170+
"כעת אחרי שלמדנו על רשימות ועל האופרטור\n",
171+
"in\n",
172+
"נרצה לשכלל את הבנק שלנו\n",
173+
"לבנק שלנו יוכלו לגשת רק מס לקוחות מצומצם שיוגדר ברשימה\n",
174+
"הגדירו רשימה של שמות של לקוחות, שרק עבור לקוח מהרשימה יתאפשר החיבור, ועל כל לקוח אחר הבנק יכתוב\n",
175+
"\"you are not customer of the bank\""
176+
]
177+
},
178+
{
179+
"cell_type": "code",
180+
"execution_count": null,
181+
"metadata": {},
182+
"outputs": [],
183+
"source": []
184+
},
185+
{
186+
"cell_type": "markdown",
187+
"metadata": {},
188+
"source": [
189+
"נתאמן על \n",
190+
"indexing\n",
191+
"\n",
192+
"כתבו פונקציה שמקבלת רשימה של רשימות\n",
193+
"אם הרשימה לא באורך 6 הפונקציה תדפיס\n",
194+
"\"only lists of length 6\"\n",
195+
"\n",
196+
"הפונקציה תדפיס \n",
197+
"\"yes!\"\n",
198+
"אם:\n",
199+
" אורך הרשימה במקום ה-0 שווה לאורך הרשימה במקום ה-4\n",
200+
" או\n",
201+
" אורך הרשימה במקום ה3 שווה לאורך הרשימה במקום ה-2 וה-1\n",
202+
" או\n",
203+
" אורך הרשימה במקום ה5 שווה ל-3\n",
204+
" \n",
205+
"אם כמה תנאים מתקיימים בו זמנית, הפונקציה תדפיס עבור כל תנאי שמתקיים\n",
206+
"(חשבו איך לכתוב את זה)\n",
207+
"לדוגמא עבור:\n",
208+
"multi = [[0],[1],[2],[3],[4],[5]]\n",
209+
"כל התנאים מתקיימים - נדפיס 3 פעמים\n",
210+
"\n",
211+
"כתבו לפחות 5 דוגמאות שונות שמדגימות:\n",
212+
"בלי הדפסות\n",
213+
"הדפסה אחת\n",
214+
"שתי הדפסות\n",
215+
"שלוש הדפסות\n"
216+
]
217+
},
218+
{
219+
"cell_type": "code",
220+
"execution_count": null,
221+
"metadata": {},
222+
"outputs": [],
223+
"source": []
224+
},
225+
{
226+
"cell_type": "markdown",
227+
"metadata": {},
228+
"source": [
229+
"נתאמן על פעולות של מחרוזות"
230+
]
231+
}
232+
],
233+
"metadata": {
234+
"kernelspec": {
235+
"display_name": "Python 3",
236+
"language": "python",
237+
"name": "python3"
238+
},
239+
"language_info": {
240+
"codemirror_mode": {
241+
"name": "ipython",
242+
"version": 3
243+
},
244+
"file_extension": ".py",
245+
"mimetype": "text/x-python",
246+
"name": "python",
247+
"nbconvert_exporter": "python",
248+
"pygments_lexer": "ipython3",
249+
"version": "3.7.1"
250+
}
251+
},
252+
"nbformat": 4,
253+
"nbformat_minor": 2
254+
}

0 commit comments

Comments
 (0)