آزمون خودسنجی فصل صفر: آماده‌ی شروع هستید؟

Please login to bookmark Close

این آزمون با تمرین‌های فصل‌های دیگر فرق دارد: هدفش سنجش آمادگی شما برای شروع دوره است، نه یادگیری مطلب جدید. بدون کتاب و بدون اجرای کد، روی کاغذ جواب دهید؛ بعد با پاسخنامه مقایسه کنید. راهنمای نمره‌گذاری در انتهای پاسخنامه است — به خودتان دروغ نگویید، این آزمون فقط به خودتان گزارش می‌دهد.

تمرین ۱ – مفاهیم پایه

۱. تفاوت list و tuple چیست؟ برای نگه‌داشتن «طول و عرض جغرافیایی یک فروشگاه» کدام مناسب‌تر است و چرا؟

۲. برای هر نیاز، ظرف مناسب (list، dict، tuple، set) را انتخاب کنید:

  • الف) شناسه‌ی کاربرانی که امروز وارد سایت شده‌اند، بدون تکرار.
  • ب) صف سفارش‌ها به ترتیب ثبت.
  • ج) مشخصات یک محصول: نام، قیمت، موجودی.
  • د) روز و ماه و سال تولد به‌صورت یک مقدار ثابت.

۳. تفاوت print و return در یک تابع چیست؟ اگر تابعی return نداشته باشد، خروجی‌اش چیست؟

۴. خط x = y در پایتون یک «کپی از مقدار» می‌سازد یا «برچسبی جدید روی همان مقدار»؟ (اگر مطمئن نیستید، حدس بزنید — در فصل دوم این موضوع حیاتی می‌شود.)

تمرین ۲ – خواندن کد

بدون اجرا، خروجی هر قطعه را پیش‌بینی کنید.

۵.

cart = ["keyboard", "mouse"]
cart.append("monitor")
print(len(cart), cart[1])

۶.

product = {"name": "keyboard", "stock": 5}
product["stock"] -= 2
print(product.get("price", 0))
print(product["stock"])

۷.

def apply_discount(amount, percent=10):
    return amount - amount * percent / 100

print(apply_discount(200_000))
print(apply_discount(200_000, 50))

۸.

total = 0
for n in [100, 250, 400]:
    if n > 300:
        continue
    total += n
print(total)

۹.

def greet(name):
    print(f"hello {name}")

result = greet("sara")
print(result)

۱۰.

def shout(text):
    return text.upper()

f = shout
print(f("ok"))

تمرین ۳ – نوشتن کد

۱۱. تابعی به نام is_valid_password بنویسید که یک رشته بگیرد و فقط وقتی True برگرداند که طولش دست‌کم ۸ کاراکتر باشد.

۱۲. تابعی به نام count_paid بنویسید که لیستی از سفارش‌ها (هر سفارش یک دیکشنری با کلید paid) بگیرد و تعداد سفارش‌های پرداخت‌شده را برگرداند.

۱۳. تابعی به نام describe_user بنویسید که پارامتر اجباری username و پارامتر اختیاری role (پیش‌فرض: "member") بگیرد و رشته‌ای مثل "ali (admin)" برگرداند.

تمرین ۴ – خواندن Traceback

۱۴. برنامه‌ای این خطا را داده است:

Traceback (most recent call last):
  File "app.py", line 12, in <module>
    show_report(sales)
  File "app.py", line 7, in show_report
    average = total / count
              ~~~~~~^~~~~~~
ZeroDivisionError: division by zero
  • الف) نوع خطا چیست و یعنی چه؟
  • ب) خطا دقیقاً در کدام فایل، کدام خط و درون کدام تابع رخ داده؟
  • ج) آن خط از کجا صدا زده شده بود؟

۱۵. کد زیر هنگام اجرا خطا می‌دهد. بدون اجرا بگویید نوع خطا چیست و چطور رفعش می‌کنید:

user = {"username": "ali"}
print("email: " + user["email"])

پاسخ‌ها و راهنمای نمره‌گذاری: پاسخ آزمون خودسنجی فصل صفر

Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم