באג עזרה בפייתון
-
היי אני התחלתי ללמוד קצת פייתון ואני לא מבין למה הלולאת while בקוד שצרפתי אינה עובדת
x=input("enter number please:\n" )
while type(x) is str():
x=input("enter number please:\n" )
y=input("enter number please:\n" )
if x==y:
print("is the same number")
else:
print("i love you")
print("how do you do dodo?") -
דבר ראשון כשאתה כותב קוד בפוסט תוסיף אותו בתוך בלוק קוד ככה:
דבר שני, נראה שהתנאי שלך לא טוב, תנסה משהו כזה:
x=input("enter number please:\n" ) while x.isdigit(): x=input("enter number please:\n" ) y=input("enter number please:\n" ) if x==y: print("is the same number") else: print("i love you") print("how do you do dodo?") -
@אביי תודה רבה ניסיתי ובאצת עבד יותר טוב אבל המטרה שבסוף אם ינסו להכניס משהושהוא לא מספר אז הם יתקעו בלופ ניסיתי להוסיף את המילה not אחרי is ולא עבד האם יש לך רעיון?
-
while x.isnumeric():
-
@yoav_barell כתב בבאג | עזרה בפייתון:
@אביי תודה רבה ניסיתי ובאצת עבד יותר טוב אבל המטרה שבסוף אם ינסו להכניס משהושהוא לא מספר אז הם יתקעו בלופ ניסיתי להוסיף את המילה not אחרי is ולא עבד האם יש לך רעיון?
צריך להוסיף את המילה not לפני המילה is
while not x.isdigit()
וקצת הסבר: isdigit היא פונקציה, ואין פונקציה ()isnotdigit אבל not זהו אופרטור לוגי שהופך משתנה בוליאני מאמת לשקר ולהפך.
-
@sivan22 תודה רבה עבד לי ותודה על ההסבר
-
@yoav_barell הסיבה שזה לא עבד בתחילה, משום שהתנאי היה על המשתנה x, שלפני ריצת התוכנית הוא הכיל את הפונקציה input, ולא ערך כל שהוא. עדיף במקרה זה להשתמש ב while True ובהמשך הלולאה להכניס break לפי התנאי הרצוי.
2/7