इस ट्यूटोरियल में, हम एक चुनौती का समाधान लिखेंगे।
चुनौती
हमें बेसिक अंकगणितीय संक्रियाओं का एक रैंडम सेट उत्पन्न करना है। उपयोगकर्ता प्रश्नों की संख्या देगा, और हमें प्रश्न उत्पन्न करने होंगे। प्रत्येक प्रश्न के बाद, उपयोगकर्ता उसका उत्तर देगा। प्रोग्राम के अंत में, हमें स्कोर देना होगा। आइए कोशिश करें।
उदाहरण
# random और operator मॉड्यूल आयात करें
import random
import operator
# मुख्य फ़ंक्शन
# उत्पन्न करने वाले प्रश्नों की संख्या लेना
def main(n):
print("Welcome to the quiz\nYou should answer floats upto 2 decimals")
# स्कोर को 0 से इनिशियलाइज़ करें
score = 0
# n प्रश्न उत्पन्न करने के लिए लूप
for i in range(n):
# एक प्रश्न का उत्तर और शुद्धता प्राप्त करें
is_correct, answer = question(i)
# जांचें कि is_correct True है या नहीं
if is_correct:
# सही होने पर स्कोर को 1 से बढ़ाएं
score += 1
print('Correct Congrats!')
else:
# सही उत्तर प्रिंट करें
print(f'Incorrect! Answer: {answer}')
# कुल स्कोर प्रदर्शित करें
print(f'Total score: {score}')
# प्रश्न के लिए फ़ंक्शन
def question(n):
# generate_function से उत्तर प्राप्त करें
answer = generate_question()
# उपयोगकर्ता से उत्तर लें
user_answer = float(input("Answer: "))
# मुख्य फ़ंक्शन को उत्तर लौटाएं
return user_answer == answer, answer
# रैंडम प्रश्न उत्पन्न करने के लिए फ़ंक्शन
def generate_question():
# रैंडम जनरेशन के लिए ऑपरेटर इनिशियलाइज़ करें
operators = {
'+' : operator.add,
'-' : operator.sub,
'*' : operator.mul,
'/' : operator.truediv,
'//' : operator.floordiv,
'%' : operator.mod
}
# अभिव्यक्ति के लिए संख्याएं इनिशियलाइज़ करें
nums = [i for i in range(10)]
# गणना के लिए nums से दो रैंडम संख्याएं प्राप्त करें
_1, _2 = nums[random.randint(0, 9)], nums[random.randint(0, 9)]
# ऑपरेटर की सूची से रैंडम ऑपरेटर उत्पन्न करें
symbol = list(operators.keys())[random.randint(0, 5)]
# उत्तर की गणना करें
answer = round(operators.get(symbol)(_1, _2), 2)
print(f'{_1} {symbol} {_2}?')
return answer
if __name__ == '__main__':
main(5)आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेंगे।
Welcome to the quiz You should answer floats upto 2 decimals 5 + 7? Answer: 12 Correct Congrats! 9 / 9? Answer: 1 Correct Congrats! 4 + 7? Answer: 11 Correct Congrats! 6 // 6? Answer: 1.0 Correct Congrats! 9 % 3? Answer: 0 Correct Congrats! Total score: 5
निष्कर्ष
आप कठिनाई बढ़ाने, आसान से कठिन प्रश्न उत्पन्न करने आदि जैसी कुछ और सुविधाएं जोड़कर प्रश्न को बेहतर बना सकते हैं। इसे स्वयं आज़माएं। मुझे आशा है कि आपने ट्यूटोरियल का आनंद लिया। यदि आपके कोई संदेह हैं, तो उन्हें कमेंट सेक्शन में उल्लेख करें।