בקשת מידע | קורס פייתון
-
def numbers_letters_count(my_str): ... numbers = [] ... others = [] ... for char in my_str: ... if char.isdigit(): ... numbers.append(char) ... print (len(numbers)) ... else: ... others.append(char) ... print (len(others)) ... >>> print(numbers_letters_count("Python 3.6.3"))
ובכן, הייתי מצפה שהפלט יהיה -
3 9
אבל הפלט הוא -
>>> print(numbers_letters_count("Python 3.6.3")) 1 2 3 4 5 6 7 1 8 2 9 3 None
-
@פלדה הגדרת לו הדפסה בכל איטרציה של הלולאה, כלומר כל פעם אחרי פעולה של הוספה לרשימה - הוא מדפיס את אורך הרשימה. בתחילה רק את רשימת התוים שאינם מספרים, בסדר עולה - עם כל תו שמתווסף, ולאחר מכן - הוא מתחיל להדפיס את רשימת הספרות - כאשר בין לבין יש גם תו שאינו מספר - הנקודה, לכן זה נראה כך
1
8
2
9
3 -
אם אתה רוצה שידפיס לך רק פעם אחת, תוציא את ה print מהבלוק של ה for,
ודו"ק -
@איסתרק-השלישי כתב בבקשת מידע | קורס פייתון:
אם אתה רוצה שידפיס לך רק פעם אחת, תוציא את ה print מהבלוק של ה for,
ואיפה לשים אותו? בקריאה לפונקציה?
-
@פלדה לא, כך:
def numbers_letters_count(my_str): ... numbers = [] ... others = [] ... for char in my_str: ... if char.isdigit(): ... numbers.append(char) ... else: ... others.append(char) ... print (len(numbers)) print (len(others)) >>> numbers_letters_count("Python 3.6.3")
מחקתי גם את ה print שהיה בקריאה לפונקציה, הוא מיותר.
-
@איסתרק-השלישי
ו--
מה הבעיה בזה??>>> def main(): ... products = input("הזן רשימת מוצרים לקניות, מופרדת בפסיקים ללא רווחים: ") ... action = int(input("הזן מספר פעולה: ") ... if action == 1: File "<stdin>", line 4 if action == 1: ^ SyntaxError: invalid syntax
למה קבלתי הודעת שגיאה?
-
@איסתרק-השלישי
תודה, גליתי את הבעיה.
בשורה הזאתaction = int(input("הזן מספר פעולה: ") חסר סגור סוגריים.
אגב אשמח אם תוכל לעזור לי בזה
-
@איסתרק-השלישי אני מC#
אבל גם לומד JS וקצת פייתון... -
ה הייתי שמח להבין התייחס לנושא זה
-
שלום אני מתכנת מתחיל בפייתון וניסיתי לכתוב מחשבון
וזה הקודdef calculator(): number_1 = int(input("Insert a number")) sign = int(input("Insert a mark")) number_2 = int(input("Insert a number")) if sign == "+": print(number_1 + number_2) elif sign == "*": print(number_1 * number_2) elif sign == "-": print(number_1 - number_2) elif sign == "/": print(number_1 / number_2) else: print("Error Please enter a valid mark") calculator()
וזה השגיאה
Traceback (most recent call last):
File "C:\Users\TA1\AppData\Local\Programs\Python\Python312\vfd.py", line 16, in <module>
calculator()
File "C:\Users\TA1\AppData\Local\Programs\Python\Python312\vfd.py", line 2, in calculator
number_1 = input(int("Insert a number"))
ValueError: invalid literal for int() with base 10: 'Insert a number'
מה לא נכון? -
@ישראל-1-0 כתב בבקשת מידע | קורס פייתון:
מה לא נכון?
פייתון נותן הסבר על השגיאות שלו בצורה די ברורה,
תמיד תסתכל על השורה האחרונה של טקסט השגיאה,
במקרה שלנו זה:ValueError: invalid literal for int() with base 10: 'Insert a number'
אתה יכול גם לנסות לתרגם בטרנסלייט,
לענינינו הפונקיה int מצפה לקבל מספר ולא טקסט.
-
-
@ישראל-1-0 כתב בבקשת מידע | קורס פייתון:
@נעזר1000
1 אי אפשר בשורה אחת?
2 אולי זה קצר יותרnum = int(input("print something"))