پروژه: بازی حدس عدد (Number Guessing Game)
اهداف پروژه
- تمرین استفاده از توابع مستقل
- مدیریت ورودی کاربر و اعتبارسنجی آن
- کار با دادههای تصادفی
- تمرین منطق شرطی و حلقهها
- ساخت برنامه تعاملی با محدودیت تعداد تلاش
۱. تعریف مقادیر اولیه و کتابخانهها
import random
MAX_NUM = 10
MIN_NUM = 1
max_guess_counts = 3
تعریف کتابخانهی random برای تولید عدد تصادفی و مقادیر حداقل، حداکثر و تعداد مجاز حدسها
۲. تولید عدد تصادفی
def generate_random_num():
return random.randint(MIN_NUM,MAX_NUM)
تابع برای تولید یک عدد تصادفی بین MIN_NUM و MAX_NUM
۳. گرفتن ورودی کاربر
def get_user_input():
print(f"your number should be between {MIN_NUM}-{MAX_NUM}")
while True:
try:
user_input = int(input("enter your guess: "))
except ValueError:
print("Error: enter a valid number")
else:
return user_input
تابع برای دریافت ورودی عددی از کاربر و اعتبارسنجی آن با استفاده از try/except
۴. بررسی حدس کاربر
def check_guessed_number(user_input,random_num):
return user_input == random_num
تابع برای بررسی اینکه آیا حدس کاربر با عدد تصادفی برابر است یا خیر
۵. تابع اصلی اجرای برنامه
def main():
global max_guess_counts
random_num = generate_random_num()
print(f"random number is: {random_num}")
while max_guess_counts > 0:
user_input = get_user_input()
if check_guessed_number(user_input,random_num):
print("you have guessed right")
break
max_guess_counts-=1
print(f"guesses left: {max_guess_counts}")
else:
print("you couldn't guess the number, and ran out of guesses")
تابع main ترتیب اجرای مراحل برنامه شامل تولید عدد تصادفی، دریافت ورودی کاربر، بررسی حدس و کنترل تعداد تلاشها را مدیریت میکند
۶. اجرای برنامه
if __name__ == "__main__":
main()
این قسمت باعث میشود برنامه تنها وقتی مستقیماً اجرا میشود، تابع main اجرا گردد.