ट्रैक
/
Go
Go
/
अभ्यास
/
वाहन की खरीद
वाहन की खरीद

वाहन की खरीद

सीखने का अभ्यास

परिचय

तुलना

Go में संख्याओं की तुलना इन संबंध और समानता ऑपरेटरों से की जा सकती है।

तुलना ऑपरेटर
बराबर ==
बराबर नहीं !=
कम <
कम या बराबर <=
अधिक >
अधिक या बराबर >=

तुलना का परिणाम हमेशा एक बूलियन वैल्यू होता है, यानी या तो true या false।

a := 3

a != 4 // true
a > 5  // false

ऊपर दिए गए तुलना ऑपरेटरों से स्ट्रिंग की तुलना भी की जा सकती है। उस स्थिति में तुलना शब्दकोश के क्रम (lexicographical order) में होती है। उदाहरण के लिए:

	"apple" < "banana"  // true
	"apple" > "banana"  // false

if स्टेटमेंट

Go में शर्तें दूसरी भाषाओं की शर्तों जैसी ही होती हैं। किसी भी शर्त वाले ऑपरेशन का मूल टाइप bool टाइप होता है, जिसकी वैल्यू true या false हो सकती है। अक्सर शर्तों का इस्तेमाल यह तय करने के लिए किया जाता है कि कोड किस क्रम में चलेगा, यानी अलग-अलग शर्तों की जाँच के लिए।

किसी खास स्थिति की जाँच के लिए if स्टेटमेंट इस्तेमाल किया जा सकता है, जो अपना कोड तभी चलाता है जब उसकी शर्त true हो, ऐसे:

var value string

if value == "val" {
    return "was val"
}

जहाँ एक से अधिक स्थितियाँ हों, वहाँ कई if स्टेटमेंट else if और else स्टेटमेंट की मदद से एक के बाद एक जोड़े जा सकते हैं।

var number int
result := "This number is "

if number > 0 {
    result += "positive"
} else if number < 0 {
    result += "negative"
} else {
    result += "zero"
}

if स्टेटमेंट में एक छोटा इनिशियलाइज़ेशन स्टेटमेंट भी हो सकता है, जिससे if स्टेटमेंट के लिए एक या अधिक वेरिएबल को शुरुआती वैल्यू दी जा सकती है। उदाहरण के लिए:

num := 7
if v := 2 * num; v > 10 {
    fmt.Println(v)
} else {
    fmt.Println(num)
}
// Output: 14

ध्यान दें: इनिशियलाइज़ेशन स्टेटमेंट में बनाए गए वेरिएबल if स्टेटमेंट के खत्म होने के बाद स्कोप से बाहर चले जाते हैं।

निर्देश

इस अभ्यास में आप एक वाहन खरीदने की तैयारी में मदद करने के लिए कुछ कोड लिखेंगे।

आपके सामने तीन काम हैं। पहला, यह तय करना कि आपको लाइसेंस चाहिए या नहीं। दूसरा, दो वाहनों में से एक चुनने में मदद करना। और तीसरा, पुराने वाहन के लिए उचित कीमत का अंदाज़ा लगाना।

1. तय कीजिए कि आपको ड्राइविंग लाइसेंस चाहिए या नहीं

कुछ तरह के वाहनों को चलाने के लिए ड्राइविंग लाइसेंस चाहिए। मान लीजिए कि केवल "car" और "truck" तरह के वाहनों के लिए लाइसेंस चाहिए, बाकी सब बिना लाइसेंस के चलाए जा सकते हैं।

NeedsLicense(kind) फंक्शन बनाइए। यह फंक्शन वाहन का प्रकार लेता है और एक बूलियन वैल्यू लौटाता है, जो बताती है कि उस प्रकार के वाहन के लिए आपको लाइसेंस चाहिए या नहीं।

needLicense := NeedsLicense("car")
// => true

needLicense = NeedsLicense("bike")
// => false

needLicense = NeedsLicense("truck")
// => true

2. खरीदने के लिए दो संभावित वाहनों में से एक चुनिए

आप उपलब्ध वाहनों के अपने विकल्पों को परखते हैं। आप उन्हें दो विकल्पों तक सीमित कर लेते हैं, लेकिन अंतिम फैसला लेने में आपको मदद चाहिए। इसके लिए ChooseVehicle(option1, option2) फंक्शन बनाइए। यह फंक्शन दो वाहन आर्गुमेंट के रूप में लेता है और एक फैसला लौटाता है, जिसमें वह विकल्प शामिल होता है जो वर्णक्रम के अनुसार पहले आता है।

vehicle := ChooseVehicle("Wuling Hongguang", "Toyota Corolla")
// => "Toyota Corolla is clearly the better choice."

ChooseVehicle("Volkswagen Beetle", "Volkswagen Golf")
// => "Volkswagen Beetle is clearly the better choice."

3. पुराने वाहन की कीमत का अंदाज़ा लगाइए

अब जब आपने फैसला ले लिया है, तो आप यह सुनिश्चित करना चाहते हैं कि डीलरशिप पर आपको उचित दाम मिले। चूँकि आप पुराना वाहन खरीदना चाहते हैं, इसलिए कीमत इस बात पर निर्भर करती है कि वाहन कितना पुराना है। मोटे अंदाज़े के लिए मान लीजिए कि अगर वाहन 3 साल से कम पुराना है, तो उसकी कीमत उसके बिल्कुल नए रहने के समय की मूल कीमत का 80% होती है। अगर वह कम से कम 10 साल पुराना है, तो उसकी कीमत 50% होती है। अगर वाहन कम से कम 3 साल पुराना है लेकिन 10 साल से कम है, तो उसकी कीमत मूल कीमत का 70% होती है।

CalculateResellPrice(originalPrice, age) फंक्शन बनाइए, जो if, else if और else का उपयोग करके यह तर्क लागू करता है (अभ्यास करना चाहें तो और भी तरीके हैं)। यह फंक्शन मूल कीमत और वाहन की उम्र आर्गुमेंट के रूप में लेता है और डीलरशिप पर अनुमानित कीमत लौटाता है।

CalculateResellPrice(1000, 1)
// => 800

CalculateResellPrice(1000, 5)
// => 700

CalculateResellPrice(1000, 15)
// => 500

ध्यान दें, रिटर्न वैल्यू एक float64 होती है।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Go Exercism

वाहन की खरीद शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Go को 34 कॉन्सेप्ट165 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।