עבור לתוכן

תרגיל בסיסי מספר בפייטון - מקבל שגיאה...

Featured Replies

פורסם

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

print("I'm inviting " + len(guest) + "to the dinner")

 וכמובן שיש לי רשימה של אנשים שנקראת guest. מה לא תקין?

פורסם

 אתה בונה מחרוזת,

str(len(guest))

או שתדפיס באופן הבא

 print("Im inviting %d to the dinner" % (len(guest)))

או

 print("Im inviting", len(guest), "to the dinner")

 

סליחה על כיוון הסוגריים, אלה בתחילת השורה הם הסוגרים.

נערך על-ידי ralman

פורסם
  • מחבר

תודה רבה

 

באופציה השניה.. הכל היה זה שמתי גרש בI'M?

 

אז איך אפשר לפתור את זה עם גרש?

 

את הדוגמא הראשונה אני לא הבנתי...

פורסם

הדרך הכי קלה היא:

print("I'm inviting {} to the dinner".format(len(guest)

(חסר סוגריים בסוף)

נערך על-ידי afikr333
(חסר סוגריים בסוף)

פורסם
  • מחבר

תודה

אני משתמש בספר python crash course

הוא ספר מעולה אבל גם יש בו בעיות לא פשוטות...

 

אתם ממליצים על הספר הזה?

 

אני אוהב אותו כי בהמשך שלו יש פרוייקט של בניית משחק קטן

נערך על-ידי רון88

פורסם

לא מכיר את הספר, אבל אני יכול להמליץ לך על ספר טוב בעברית, מאתר הסייבר הישראלי:
http://cyber.org.il/python/python.pdf

פורסם
  • מחבר

בהחלט מסקרן הספר הצה"לי

פורסם

אני חושב שהתחלתי עם הספר: Learning Python, 5th Edition

לדעתי אופציית הכתיבה  "print("Im inviting", len(guest), "to the dinner היא הנכונה ביותר מבחינת קריאות של קוד.

 

פורסם

השגיאות של פייתון די ברורות, לכן פעם הבאה זה היה עוזר אם היית מעתיק לכאן את השגיאה.

 

בכל מקרה, הבעיה בסקריפט היא שניסית לחבר (לשרשר) מחרוזת ומספר:
המחזורת "I'm inviting" היא מסוג str ואילו len(guests) הוא מסוג int, ובפייתון אתה לא יכול לחבר (לשרשר) מחרוזת למספר.

 

אז יש כמה אופציות לפתור את זה, אבל כדי להבין את הבעיה ואת הפתרון שלה תנסה להמיר את המספר למחרוזת באמצעות str:

print("I'm inviting " + str(len(guests)) + " guests to my party")

 

נערך על-ידי bomba6

פורסם
  • מחבר

נהדר. הספר שלי לא היה בהיר בזה לגמרי..

אז קודם כל תודות לכם.

אם ככה אז אני אשים str לפני אינטיג'רס.

  • 3 שבועות מאוחר יותר...
פורסם
  • מחבר

אם אפשר עוד שאלה.

 

הגעתי לנושא של for loop

יש לי את התרגיל הבא:

4-4. One Million: Make a list of the numbers from one to one million, and then
use a for loop to print the numbers (If the output is taking too long, stop it by
pressing ctrl-C or by closing the output window )

 

ומה שביצעתי זה מה שמצורף בתמונה להודעה הזאת

Capture.PNG.7d33808033e53a2586ae54dedf9a3519.PNG

עכשיו אני מבין שלא עשיתי את זה כמו שביקשו כי לא ידעתי איך עושים for loop כאן... בתרגילים אחרים לפי מה שראיתי הלופים הם בתצורות אחרות ובגלל זה אני לא ידעתי.

 

ממש אשמח להבהרה איך לעשות ולהתקדם. למעשה גם את התרגילים אחר כך לא הצלחתי.

 

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

 

 

פורסם

את הרשימה עשית בסדר  , 
את  ההדפסה עושים באמצעות לולאת for    ככה :

 

for i in numbers:
	print(i)

 

פורסם

כשאתה יוצר את הרשימה אין צורך להמיר לרשימה, הפונקציה range כבר מחזירה רשימה.

גם אין צורך לשים את הרשימה במשתנה.

for i in range(1,100000):
     print i

אם אתה משתמש בפייתון 3+ שים סוגרים בprint.

נערך על-ידי afikr333

פורסם
  • מחבר

משהו שאני לא מבין עדיין.

בשפה פשוטה, איפה אני יכול להבין מהם ההבדלים בין function ל-method?

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים