Calculator Program
हम क्या बना रहे हैं
Calculator दो numbers और एक operator (+, -, *, /) लेकर result दिखाता है। यह बढ़िया पहला project है जो input, conditions, functions और error handling एक साथ लाता है। हम इसे चरण-दर-चरण बनाएँगे और divide by zero से सुरक्षित करेंगे।
float() से बदलिए, वरना "2" + "3" 5 के बजाय "23" देता है।एक बुनियादी calculator
a = float(input("First number: "))
op = input("Operator (+ - * /): ")
b = float(input("Second number: "))
if op == "+":
print(a + b)
elif op == "-":
print(a - b)
elif op == "*":
print(a * b)
elif op == "/":
print(a / b)
else:
print("Invalid operator")
Operator: +
Second number: 5
15.0
हम दो numbers (float में बदले) और एक operator पढ़ते हैं, फिर मेल खाता operation चलाने को if-elif इस्तेमाल करते हैं। else invalid operator पकड़ता है।
Functions इस्तेमाल
हर operation को function में रखना code साफ़ और दोबारा-इस्तेमाल-योग्य रखता है।
def calculate(a, b, op):
if op == "+": return a + b
if op == "-": return a - b
if op == "*": return a * b
if op == "/": return a / b
return "Invalid operator"
print(calculate(20, 4, "/"))
अब logic एक calculate function में रहती है जिसे कहीं भी call कर सकते हैं, जो हर जगह if-elif दोहराने से साफ़ है।
Divide by zero संभालना
def calculate(a, b, op):
if op == "/":
if b == 0:
return "Cannot divide by zero"
return a / b
# ... बाक़ी operators
print(calculate(10, 0, "/"))
शून्य से भाग program crash कर देता, तो हम पहले if b == 0 जाँचते हैं। आप try-except ZeroDivisionError block भी इस्तेमाल कर सकते हैं।
Menu loop
User को quit चुनने तक कई calculations करने दीजिए।
while True:
a = float(input("First number: "))
op = input("Operator: ")
b = float(input("Second number: "))
print("Result:", calculate(a, b, op))
again = input("Another? (y/n): ")
if again != "y":
break
print("Goodbye")
while True loop calculator दोहराता है। हर result के बाद हम पूछते हैं user और चाहता है या नहीं; "y" के अलावा कुछ भी type करना loop से break करके ख़त्म कर देता है।
आम गलतियाँ
- Input न बदलना।
input()string देता है — गणित कोfloat()याint()इस्तेमाल कीजिए। - Divide by zero अनदेखा करना। भाग को हमेशा जाँच या try-except से guard कीजिए।
- बुरे operators के लिए
elseनहीं। Invalid input संभालिए ताकि program चुपचाप fail न हो। =से तुलना। operator तुलना को==इस्तेमाल कीजिए, assignment=नहीं।
सारांश
- Calculator दो numbers और एक operator पढ़कर गणना करता है।
- गणित से पहले input को
float()से बदलिए। - Operation चुनने को if-elif या
calculatefunction इस्तेमाल कीजिए। - Divide by zero से जाँच या try-except से guard कीजिए।
- User को दोहराने देने को
whileloop जोड़िए।
आगे, फ़ैसले सीखिए if-else in Python में, या code दोबारा इस्तेमाल कीजिए Python functions से।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Python में number input कैसे लूँ?
input() इस्तेमाल कीजिए, फिर उसे float() या int() से बदलिए — जैसे a = float(input("Enter a number: "))। बदले बिना input string रहता है और गणित काम नहीं करेगा।Python में divide by zero कैसे संभालूँ?
Calculator के लिए if-elif या functions इस्तेमाल करूँ?
Calculator को दोहराने वाला कैसे बनाऊँ?
while True loop में लपेटिए और quit करने का विकल्प दीजिए। हर calculation के बाद पूछिए user और चाहता है या नहीं, और exit चुनने पर loop से break कीजिए।मेरा calculator numbers जोड़ने के बजाय जोड़कर चिपका क्यों देता है?
float या int में बदलिए ताकि Python असली गणित करे।