בקשת מידע | קורס פייתון
-
@איסתרק-השלישי אני מ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"))
-
@נעזר1000 עשיתי את הקוד בדיוק כך
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> -
@ישראל-1-0 כתב בבקשת מידע | קורס פייתון:
והוא נותן את השגיאה הבאה
Traceback (most recent call last):
File "C:\Users\TA1\AppData\Local\Programs\Python\Python312\vfd.py", line 16, in <module>זה לא השורה האחרונה בשגיאה.
והבעיה היא כשאתה מנסה להמיר ל int דבר שהוא לא מספר. -
@נעזר1000 צודק
ניסיתי להחליף לדר הארוכה והמסורבלת
וזה הקודdef calculator(): number_a = input("Insert a number") sign_b = input("Insert a mark") number_c = input("Insert a number") number_1 = int(number_a) sign = int(sign_b) number_2 = int(number_c) 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/מחשבון.py", line 21, in <module>
calculator()
File "C:/Users/TA1/AppData/Local/Programs/Python/Python312/מחשבון.py", line 6, in calculator
number_1 = int(number_a)
ValueError: invalid literal for int() with base 10: '' -
@נעזר1000 בסוף הצלחתי וזה הקוד
def calculator(): number_1 = int(input("Insert a number\n")) sign = input("Insert a mark\n") number_2 = int(input("Insert a number\n")) 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()
-
@ישראל-1-0 את האופרטור לא הופכים למספר.
def calculator(): number_a = "1" sign_b = "+" number_c = "1" number_1 = int(number_a) sign = sign_b number_2 = int(number_c) 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()
-
@ישראל-1-0 אגב, יש פונקציה פשוטה שהופכת את העבודה לקלה לאין ערוך...
הפונקציה eval מקבלת מחרוזת (string) וממירה אותה למספר כולל סימני חישוב שונים!
וכך אפשר ליצור מחשבון בשתי שורות בלבד....t = input("הקלד תרגיל\n") print(eval(t))