এই টিউটোরিয়ালে, আমরা একটি চ্যালেঞ্জের সমাধান লিখতে যাচ্ছি।
চ্যালেঞ্জ
আমাদের মৌলিক গাণিতিক ক্রিয়াকলাপগুলির একটি এলোমেলো সেট তৈরি করতে হবে। ব্যবহারকারী প্রশ্নের নম্বর দেবে, এবং আমাদের প্রশ্ন তৈরি করতে হবে। প্রতিটি প্রশ্নের পরে, ব্যবহারকারী এটির উত্তর দেবে। প্রোগ্রাম শেষে স্কোর দিতে হয়। আসুন এটি চেষ্টা করে দেখি।
উদাহরণ
# importing random and operator modules
import random
import operator
# main function
# taking number of questions that we have to generate
def main(n):
print("Welcome to the quiz\nYou should answer floats upto 2 decimals")
# initialising score to 0
score = 0
# loop to generate n questions
for i in range(n):
# getting answer and correctness of a question
is_correct, answer = question(i)
# checking whether is_correct is True or not
if is_correct:
# increment score by 1 if correct
score += 1
print('Correct Congrats!')
else:
# printing the correct answer
print(f'Incorrect! Answer: {answer}')
# displaying the total score
print(f'Total score: {score}')
# function for the question
def question(n):
# getting answer from the generate_function
answer = generate_question()
# taking answer from the user
user_answer = float(input("Answer: "))
# returning answer to the main function
return user_answer == answer, answer
# function to generate a random question
def generate_question():
# initialising operators for random generation
operators = {
'+' : operator.add,
'-' : operator.sub,
'*' : operator.mul,
'/' : operator.truediv,
'//' : operator.floordiv,
'%' : operator.mod
}
# initialising numbers for expressions
nums = [i for i in range(10)]
# getting two random numbers from nums for calculation
_1, _2 = nums[random.randint(0, 9)], nums[random.randint(0, 9)]
# generating random operator from the list of operators
symbol = list(operators.keys())[random.randint(0, 5)]
# calculating the answer
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
উপসংহার
আপনি আরও কিছু বৈশিষ্ট্য যোগ করে প্রশ্নটি উন্নত করতে পারেন যেমন অসুবিধা বাড়ানো, সহজ থেকে কঠিন প্রশ্ন তৈরি করা ইত্যাদি।, নিজে চেষ্টা করুন। আমি আশা করি আপনি টিউটোরিয়ালটি উপভোগ করেছেন। যদি আপনার কোন সন্দেহ থাকে, মন্তব্য বিভাগে তাদের উল্লেখ করুন.